]> git.ipfire.org Git - thirdparty/gcc.git/blame - libjava/classpath/javax/print/attribute/standard/JobStateReasons.java
Imported GNU Classpath 0.90
[thirdparty/gcc.git] / libjava / classpath / javax / print / attribute / standard / JobStateReasons.java
CommitLineData
f911ba98 1/* JobStateReasons.java --
21276379 2 Copyright (C) 2004, 2005 Free Software Foundation, Inc.
f911ba98
TT
3
4This file is part of GNU Classpath.
5
6GNU Classpath is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU Classpath is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Classpath; see the file COPYING. If not, write to the
18Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
1902110-1301 USA.
20
21Linking this library statically or dynamically with other modules is
22making a combined work based on this library. Thus, the terms and
23conditions of the GNU General Public License cover the whole
24combination.
25
26As a special exception, the copyright holders of this library give you
27permission to link this library with independent modules to produce an
28executable, regardless of the license terms of these independent
29modules, and to copy and distribute the resulting executable under
30terms of your choice, provided that you also meet, for each linked
31independent module, the terms and conditions of the license of that
32module. An independent module is a module which is not derived from
33or based on this library. If you modify this library, you may extend
34this exception to your version of the library, but you are not
35obligated to do so. If you do not wish to do so, delete this
36exception statement from your version. */
37
38
39package javax.print.attribute.standard;
40
21276379 41import java.util.Collection;
f911ba98 42import java.util.HashSet;
21276379 43import java.util.Iterator;
f911ba98
TT
44
45import javax.print.attribute.PrintJobAttribute;
46
47/**
21276379
MW
48 * The <code>JobStateReasons</code> attribute provides the set of
49 * additional informations available about the current state of a print job.
50 * <p>
51 * <b>IPP Compatibility:</b> JobStateReasons is an IPP 1.1 attribute.
52 * </p>
53 * @see javax.print.attribute.standard.JobState
54 * @see javax.print.attribute.standard.JobStateReason
55 *
f911ba98 56 * @author Michael Koch (konqueror@gmx.de)
21276379 57 * @author Wolfgang Baer (WBaer@gmx.de)
f911ba98
TT
58 */
59public final class JobStateReasons extends HashSet
60 implements PrintJobAttribute
61{
62 private static final long serialVersionUID = 8849088261264331812L;
63
21276379
MW
64 /**
65 * Constructs an empty <code>JobStateReasons</code> attribute.
66 */
67 public JobStateReasons()
68 {
69 super();
70 }
71
72 /**
73 * Constructs an empty <code>JobStateReasons</code> attribute
74 * with the given initial capacity and load factor.
75 *
76 * @param initialCapacity the intial capacity.
77 * @param loadFactor the load factor of the underlying HashSet.
78 *
79 * @throws IllegalArgumentException if initialCapacity &lt; 0
80 * @throws IllegalArgumentException if initialCapacity or loadFactor &lt; 0
81 */
82 public JobStateReasons(int initialCapacity, float loadFactor)
83 {
84 super(initialCapacity, loadFactor);
85 }
86
87 /**
88 * Constructs an empty <code>JobStateReasons</code> attribute
89 * with the given initial capacity and the default load factor.
90 *
91 * @param initialCapacity the intial capacity.
92 *
93 * @throws IllegalArgumentException if initialCapacity &lt; 0
94 */
95 public JobStateReasons(int initialCapacity)
96 {
97 super(initialCapacity);
98 }
99
100 /**
101 * Constructs a <code>JobStateReasons</code> attribute
102 * with the content of the given collection.
103 *
104 * @param collection the collection for the initial values.
105 *
106 * @throws NullPointerException if collection or any value is
107 * <code>null</code>.
108 * @throws ClassCastException if values of collection are not of type
109 * <code>JobStateReason</code>.
110 */
111 public JobStateReasons(Collection collection)
112 {
113 super(collection.size(), 0.75f);
114 Iterator it = collection.iterator();
115 while (it.hasNext())
116 add(it.next());
117 }
118
119 /**
120 * Adds the given job state reason object to the set.
121 *
122 * @param o the reason of type <code>JobStateReason</code>.
123 * @return <code>true</code> if set changed, <code>false</code> otherwise.
124 *
125 * @throws NullPointerException if given object is <code>null</code>.
126 * @throws ClassCastException if given object is not an instance of
127 * <code>JobStateReason</code>.
128 */
129 public boolean add(Object o)
130 {
131 if (o == null)
132 throw new NullPointerException("reason is null");
133
8aa540d2 134 return super.add((JobStateReason) o);
21276379
MW
135 }
136
f911ba98
TT
137 /**
138 * Returns category of this class.
139 *
21276379 140 * @return The class <code>JobStateReasons</code> itself.
f911ba98
TT
141 */
142 public Class getCategory()
143 {
144 return JobStateReasons.class;
145 }
146
147 /**
148 * Returns the name of this attribute.
149 *
21276379 150 * @return The name "job-state-reasons".
f911ba98
TT
151 */
152 public String getName()
153 {
154 return "job-state-reasons";
155 }
156}