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/URISyntax.java
38918 views
1
/*
2
* Copyright (c) 2000, 2004, 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
import java.net.URI;
31
32
/**
33
* Class URISyntax is an abstract base class providing the common
34
* implementation of all attributes whose value is a Uniform Resource
35
* Identifier (URI). Once constructed, a URI attribute's value is immutable.
36
* <P>
37
*
38
* @author Alan Kaminsky
39
*/
40
public abstract class URISyntax implements Serializable, Cloneable {
41
42
private static final long serialVersionUID = -7842661210486401678L;
43
44
/**
45
* URI value of this URI attribute.
46
* @serial
47
*/
48
private URI uri;
49
50
/**
51
* Constructs a URI attribute with the specified URI.
52
*
53
* @param uri URI.
54
*
55
* @exception NullPointerException
56
* (unchecked exception) Thrown if <CODE>uri</CODE> is null.
57
*/
58
protected URISyntax(URI uri) {
59
this.uri = verify (uri);
60
}
61
62
private static URI verify(URI uri) {
63
if (uri == null) {
64
throw new NullPointerException(" uri is null");
65
}
66
return uri;
67
}
68
69
/**
70
* Returns this URI attribute's URI value.
71
* @return the URI.
72
*/
73
public URI getURI() {
74
return uri;
75
}
76
77
/**
78
* Returns a hashcode for this URI attribute.
79
*
80
* @return A hashcode value for this object.
81
*/
82
public int hashCode() {
83
return uri.hashCode();
84
}
85
86
/**
87
* Returns whether this URI attribute is equivalent to the passed in
88
* object.
89
* To be equivalent, all of the following conditions must be true:
90
* <OL TYPE=1>
91
* <LI>
92
* <CODE>object</CODE> is not null.
93
* <LI>
94
* <CODE>object</CODE> is an instance of class URISyntax.
95
* <LI>
96
* This URI attribute's underlying URI and <CODE>object</CODE>'s
97
* underlying URI are equal.
98
* </OL>
99
*
100
* @param object Object to compare to.
101
*
102
* @return True if <CODE>object</CODE> is equivalent to this URI
103
* attribute, false otherwise.
104
*/
105
public boolean equals(Object object) {
106
return(object != null &&
107
object instanceof URISyntax &&
108
this.uri.equals (((URISyntax) object).uri));
109
}
110
111
/**
112
* Returns a String identifying this URI attribute. The String is the
113
* string representation of the attribute's underlying URI.
114
*
115
* @return A String identifying this object.
116
*/
117
public String toString() {
118
return uri.toString();
119
}
120
121
}
122
123