Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/classes/javax/print/attribute/DateTimeSyntax.java
38918 views
1
/*
2
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
27
package javax.print.attribute;
28
29
import java.io.Serializable;
30
31
import java.util.Date;
32
33
/**
34
* Class DateTimeSyntax is an abstract base class providing the common
35
* implementation of all attributes whose value is a date and time.
36
* <P>
37
* Under the hood, a date-time attribute is stored as a value of class <code>
38
* java.util.Date</code>. You can get a date-time attribute's Date value by
39
* calling {@link #getValue() getValue()}. A date-time attribute's
40
* Date value is established when it is constructed (see {@link
41
* #DateTimeSyntax(Date) DateTimeSyntax(Date)}). Once
42
* constructed, a date-time attribute's value is immutable.
43
* <P>
44
* To construct a date-time attribute from separate values of the year, month,
45
* day, hour, minute, and so on, use a <code>java.util.Calendar</code>
46
* object to construct a <code>java.util.Date</code> object, then use the
47
* <code>java.util.Date</code> object to construct the date-time attribute.
48
* To convert
49
* a date-time attribute to separate values of the year, month, day, hour,
50
* minute, and so on, create a <code>java.util.Calendar</code> object and
51
* set it to the <code>java.util.Date</code> from the date-time attribute. Class
52
* DateTimeSyntax stores its value in the form of a <code>java.util.Date
53
* </code>
54
* rather than a <code>java.util.Calendar</code> because it typically takes
55
* less memory to store and less time to compare a <code>java.util.Date</code>
56
* than a <code>java.util.Calendar</code>.
57
* <P>
58
*
59
* @author Alan Kaminsky
60
*/
61
public abstract class DateTimeSyntax implements Serializable, Cloneable {
62
63
private static final long serialVersionUID = -1400819079791208582L;
64
65
// Hidden data members.
66
67
/**
68
* This date-time attribute's<code>java.util.Date</code> value.
69
* @serial
70
*/
71
private Date value;
72
73
// Hidden constructors.
74
75
/**
76
* Construct a new date-time attribute with the given
77
* <code>java.util.Date </code> value.
78
*
79
* @param value <code>java.util.Date</code> value.
80
*
81
* @exception NullPointerException
82
* (unchecked exception) Thrown if <CODE>theValue</CODE> is null.
83
*/
84
protected DateTimeSyntax(Date value) {
85
if (value == null) {
86
throw new NullPointerException("value is null");
87
}
88
this.value = value;
89
}
90
91
// Exported operations.
92
93
/**
94
* Returns this date-time attribute's <code>java.util.Date</code>
95
* value.
96
* @return the Date.
97
*/
98
public Date getValue() {
99
return new Date (value.getTime());
100
}
101
102
// Exported operations inherited and overridden from class Object.
103
104
/**
105
* Returns whether this date-time attribute is equivalent to the passed in
106
* object. To be equivalent, all of the following conditions must be true:
107
* <OL TYPE=1>
108
* <LI>
109
* <CODE>object</CODE> is not null.
110
* <LI>
111
* <CODE>object</CODE> is an instance of class DateTimeSyntax.
112
* <LI>
113
* This date-time attribute's <code>java.util.Date</code> value and
114
* <CODE>object</CODE>'s <code>java.util.Date</code> value are
115
* equal. </OL>
116
*
117
* @param object Object to compare to.
118
*
119
* @return True if <CODE>object</CODE> is equivalent to this date-time
120
* attribute, false otherwise.
121
*/
122
public boolean equals(Object object) {
123
return (object != null &&
124
object instanceof DateTimeSyntax &&
125
value.equals(((DateTimeSyntax) object).value));
126
}
127
128
/**
129
* Returns a hash code value for this date-time attribute. The hashcode is
130
* that of this attribute's <code>java.util.Date</code> value.
131
*/
132
public int hashCode() {
133
return value.hashCode();
134
}
135
136
/**
137
* Returns a string value corresponding to this date-time attribute.
138
* The string value is just this attribute's
139
* <code>java.util.Date</code> value
140
* converted to a string.
141
*/
142
public String toString() {
143
return "" + value;
144
}
145
146
}
147
148