SunTM's XACML Implementation for JavaTM

com.sun.xacml.attr
Class DateAttribute

java.lang.Object
  extended bycom.sun.xacml.attr.AttributeValue
      extended bycom.sun.xacml.attr.DateAttribute
All Implemented Interfaces:
Evaluatable

public class DateAttribute
extends AttributeValue

Representation of an xs:date value. This class supports parsing xs:date values. All objects of this class are immutable and thread-safe. The Date objects returned are not, but these objects are cloned before being returned.

Since:
1.0

Field Summary
static String identifier
          Official name of this type
static int TZ_UNSPECIFIED
          Time zone value that indicates that the time zone was not specified.
 
Constructor Summary
DateAttribute()
          Creates a new TimeAttribute that represents the current date in the default time zone.
DateAttribute(Date date, int timeZone, int defaultedTimeZone)
          Creates a new DateAttribute that represents the date supplied.
 
Method Summary
 String encode()
          Encodes the value in a form suitable for including in XML data like a request or an obligation.
 boolean equals(Object o)
          Returns true if the input is an instance of this class and if its value equals the value contained in this class.
 int getDefaultedTimeZone()
          Gets the time zone actually used for this object (if it was originally unspecified, the default time zone used).
static DateAttribute getInstance(Node root)
          Returns a new DateAttribute that represents the xs:date at a particular DOM node.
static DateAttribute getInstance(String value)
          Returns a new DateAttribute that represents the xs:date value indicated by the string provided.
 int getTimeZone()
          Gets the specified time zone of this object (or TZ_UNSPECIFIED if unspecified).
 Date getValue()
          Gets the date represented by this object.
 int hashCode()
          Returns the hashcode value used to index and compare this object with others of the same type.
 String toString()
          Converts to a String representation.
 
Methods inherited from class com.sun.xacml.attr.AttributeValue
encode, encode, encodeWithTags, evaluate, evaluatesToBag, getChildren, getType, isBag
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

identifier

public static final String identifier
Official name of this type

See Also:
Constant Field Values

TZ_UNSPECIFIED

public static final int TZ_UNSPECIFIED
Time zone value that indicates that the time zone was not specified.

See Also:
Constant Field Values
Constructor Detail

DateAttribute

public DateAttribute()
Creates a new TimeAttribute that represents the current date in the default time zone.


DateAttribute

public DateAttribute(Date date,
                     int timeZone,
                     int defaultedTimeZone)
Creates a new DateAttribute that represents the date supplied.

Parameters:
date - a Date object representing the instant at which the specified date began (midnight) in the specified time zone
timeZone - the time zone specified for this object (or TZ_UNSPECIFIED if unspecified). The offset to GMT, in minutes.
defaultedTimeZone - the time zone actually used for this object (if it was originally unspecified, the default time zone used). The offset to GMT, in minutes.
Method Detail

getInstance

public static DateAttribute getInstance(Node root)
                                 throws ParseException
Returns a new DateAttribute that represents the xs:date at a particular DOM node.

Parameters:
root - the Node that contains the desired value
Returns:
a new DateAttribute representing the appropriate value (null if there is a parsing error)
Throws:
ParseException

getInstance

public static DateAttribute getInstance(String value)
                                 throws ParseException
Returns a new DateAttribute that represents the xs:date value indicated by the string provided.

Parameters:
value - a string representing the desired value
Returns:
a new DateAttribute representing the desired value (null if there is a parsing error)
Throws:
ParseException

getValue

public Date getValue()
Gets the date represented by this object. The return value is a Date object representing the instant at which the specified date began (midnight) in the time zone.

NOTE: The Date object is cloned before it is returned to avoid unauthorized changes.

Returns:
a Date object representing the instant at which the date began

getTimeZone

public int getTimeZone()
Gets the specified time zone of this object (or TZ_UNSPECIFIED if unspecified).

Returns:
the offset to GMT in minutes (positive or negative)

getDefaultedTimeZone

public int getDefaultedTimeZone()
Gets the time zone actually used for this object (if it was originally unspecified, the default time zone used).

Returns:
the offset to GMT in minutes (positive or negative)

equals

public boolean equals(Object o)
Returns true if the input is an instance of this class and if its value equals the value contained in this class.

Two DateAttributes are equal if and only if the instant on which the date began is equal. This means that they must have the same time zone.

Parameters:
o - the object to compare
Returns:
true if this object and the input represent the same value

hashCode

public int hashCode()
Returns the hashcode value used to index and compare this object with others of the same type.

Returns:
the object's hashcode value

toString

public String toString()
Converts to a String representation.

Returns:
the String representation

encode

public String encode()
Encodes the value in a form suitable for including in XML data like a request or an obligation. This must return a value that could in turn be used by the factory to create a new instance with the same value.

Specified by:
encode in class AttributeValue
Returns:
a String form of the value

Sun's XACML Implementation Version 1.2

Copyright 2003-2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

Sun, Sun Microsystems, the Sun Logo, and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.