Module java.desktop
Package javax.print.attribute

# Class DateTimeSyntax

java.lang.Object
javax.print.attribute.DateTimeSyntax

All Implemented Interfaces:
  `Serializable`, `Cloneable`

Direct Known Subclasses:
  `DateTimeAtCompleted`, `DateTimeAtCreation`, `DateTimeAtProcessing`, `JobHoldUntil`

public abstract class DateTimeSyntax extends Object implements Serializable, Cloneable
Class `DateTimeSyntax` is an abstract base class providing the common implementation of all attributes whose value is a date and time.

Under the hood, a date-time attribute is stored as a value of class `java.util.Date`. You can get a date-time attribute's `Date` value by calling `getValue()`. A date-time attribute's `Date` value is established when it is constructed (see `DateTimeSyntax(Date)`). Once constructed, a date-time attribute's value is immutable.

To construct a date-time attribute from separate values of the year, month, day, hour, minute, and so on, use a `java.util.Calendar` object to construct a `java.util.Date` object, then use the `java.util.Date` object to construct the date-time attribute. To convert a date-time attribute to separate values of the year, month, day, hour, minute, and so on, create a `java.util.Calendar` object and set it to the `java.util.Date` from the date-time attribute. Class `DateTimeSyntax` stores its value in the form of a `java.util.Date` rather than a `java.util.Calendar` because it typically takes less memory to store and less time to compare a `java.util.Date` than a `java.util.Calendar`.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`DateTimeSyntax(Date value)`
Construct a new date-time attribute with the given `java.util.Date` value.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object object)`
Returns whether this date-time attribute is equivalent to the passed in object.
`Date`
`getValue()`
Returns this date-time attribute's `java.util.Date` value.
`int`
`hashCode()`
Returns a hash code value for this date-time attribute.
`String`
`toString()`
Returns a string value corresponding to this date-time attribute.

### Methods declared in class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### DateTimeSyntax

protected DateTimeSyntax(Date value)
Construct a new date-time attribute with the given `java.util.Date` value.

Parameters:
  `value` - `java.util.Date` value
Throws:
  `NullPointerException` - if `value` is `null`

## Method Details

### getValue

public Date getValue()
Returns this date-time attribute's `java.util.Date` value.

Returns:
  the `Date`

### equals

public boolean equals(Object object)
Returns whether this date-time attribute is equivalent to the passed in object. To be equivalent, all of the following conditions must be true:

1. `object` is not `null`.
2. `object` is an instance of class `DateTimeSyntax`.
3. This date-time attribute's `java.util.Date` value and `object`'s `java.util.Date` value are equal.

Overrides:
  `equals` in class `Object`
Parameters:
  `object` - `Object` to compare to
Returns:
  `true` if `object` is equivalent to this date-time attribute, `false` otherwise
See Also:
  - `Object.hashCode()`
  - `HashMap`

### hashCode

public int hashCode()
Returns a hash code value for this date-time attribute. The hashcode is that of this attribute's `java.util.Date` value.

Overrides:
  `hashCode` in class `Object`
Returns:
  a hash code value for this object.
See Also:
  - `Object.equals(java.lang.Object)`
  - `System.identityHashCode(java.lang.Object)`

### toString

public String toString()
Returns a string value corresponding to this date-time attribute. The string value is just this attribute's `java.util.Date` value converted to a string.

Overrides:
  `toString` in class `Object`
Returns:
  a string representation of the object.