diff options
-rw-r--r-- | libjava/ChangeLog | 14 | ||||
-rw-r--r-- | libjava/Makefile.am | 9 | ||||
-rw-r--r-- | libjava/Makefile.in | 18 | ||||
-rw-r--r-- | libjava/javax/print/attribute/DateTimeSyntax.java | 101 | ||||
-rw-r--r-- | libjava/javax/print/attribute/DocAttribute.java | 45 | ||||
-rw-r--r-- | libjava/javax/print/attribute/DocAttributeSet.java | 55 | ||||
-rw-r--r-- | libjava/javax/print/attribute/IntegerSyntax.java | 122 | ||||
-rw-r--r-- | libjava/javax/print/attribute/ResolutionSyntax.java | 220 | ||||
-rw-r--r-- | libjava/javax/print/attribute/Size2DSyntax.java | 225 | ||||
-rw-r--r-- | libjava/javax/print/attribute/TextSyntax.java | 118 | ||||
-rw-r--r-- | libjava/javax/print/attribute/URISyntax.java | 112 | ||||
-rw-r--r-- | libjava/javax/print/attribute/UnmodifiableSetException.java | 65 |
12 files changed, 1104 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index bcbb24eead9..c9188be7c0c 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,19 @@ 2003-12-21 Michael Koch <konqueror@gmx.de> + * javax/print/attribute/DateTimeSyntax.java, + javax/print/attribute/DocAttribute.java, + javax/print/attribute/DocAttributeSet.java, + javax/print/attribute/IntegerSyntax.java, + javax/print/attribute/ResolutionSyntax.java, + javax/print/attribute/Size2DSyntax.java, + javax/print/attribute/TextSyntax.java, + javax/print/attribute/URISyntax.java, + javax/print/attribute/UnmodifiableSetException.java: New files. + * Makefile.am (ordinary_java_source_files): Added new files. + * Makefile.in: Regenerated. + +2003-12-21 Michael Koch <konqueror@gmx.de> + * gnu/java/net/PlainDatagramSocketImpl.java (mcastGrp): Added documentation. diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 681f50e5e4d..0f7fab481ee 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -1743,7 +1743,16 @@ javax/naming/ldap/UnsolicitedNotificationListener.java \ javax/naming/OperationNotSupportedException.java \ javax/print/attribute/Attribute.java \ javax/print/attribute/AttributeSet.java \ +javax/print/attribute/DateTimeSyntax.java \ +javax/print/attribute/DocAttribute.java \ +javax/print/attribute/DocAttributeSet.java \ +javax/print/attribute/IntegerSyntax.java \ javax/print/attribute/PrintRequestAttributeSet.java \ +javax/print/attribute/ResolutionSyntax.java \ +javax/print/attribute/Size2DSyntax.java \ +javax/print/attribute/TextSyntax.java \ +javax/print/attribute/UnmodifiableSetException.java \ +javax/print/attribute/URISyntax.java \ javax/security/auth/x500/X500Principal.java \ javax/sql/ConnectionEvent.java \ javax/sql/ConnectionEventListener.java \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 3f34455c4f2..cf4ff1f2857 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -1459,7 +1459,16 @@ javax/naming/ldap/UnsolicitedNotificationListener.java \ javax/naming/OperationNotSupportedException.java \ javax/print/attribute/Attribute.java \ javax/print/attribute/AttributeSet.java \ +javax/print/attribute/DateTimeSyntax.java \ +javax/print/attribute/DocAttribute.java \ +javax/print/attribute/DocAttributeSet.java \ +javax/print/attribute/IntegerSyntax.java \ javax/print/attribute/PrintRequestAttributeSet.java \ +javax/print/attribute/ResolutionSyntax.java \ +javax/print/attribute/Size2DSyntax.java \ +javax/print/attribute/TextSyntax.java \ +javax/print/attribute/UnmodifiableSetException.java \ +javax/print/attribute/URISyntax.java \ javax/security/auth/x500/X500Principal.java \ javax/sql/ConnectionEvent.java \ javax/sql/ConnectionEventListener.java \ @@ -4051,7 +4060,16 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \ .deps/javax/naming/spi/Resolver.P .deps/javax/naming/spi/StateFactory.P \ .deps/javax/print/attribute/Attribute.P \ .deps/javax/print/attribute/AttributeSet.P \ +.deps/javax/print/attribute/DateTimeSyntax.P \ +.deps/javax/print/attribute/DocAttribute.P \ +.deps/javax/print/attribute/DocAttributeSet.P \ +.deps/javax/print/attribute/IntegerSyntax.P \ .deps/javax/print/attribute/PrintRequestAttributeSet.P \ +.deps/javax/print/attribute/ResolutionSyntax.P \ +.deps/javax/print/attribute/Size2DSyntax.P \ +.deps/javax/print/attribute/TextSyntax.P \ +.deps/javax/print/attribute/URISyntax.P \ +.deps/javax/print/attribute/UnmodifiableSetException.P \ .deps/javax/rmi/BAD_OPERATION.P .deps/javax/rmi/CORBA/ClassDesc.P \ .deps/javax/rmi/CORBA/ObjectImpl.P \ .deps/javax/rmi/CORBA/PortableRemoteObjectDelegate.P \ diff --git a/libjava/javax/print/attribute/DateTimeSyntax.java b/libjava/javax/print/attribute/DateTimeSyntax.java new file mode 100644 index 00000000000..6880f2bca36 --- /dev/null +++ b/libjava/javax/print/attribute/DateTimeSyntax.java @@ -0,0 +1,101 @@ +/* DateTimeSyntax.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author Michael Koch + */ +public abstract class DateTimeSyntax implements Cloneable, Serializable +{ + private static final long serialVersionUID = -1400819079791208582L; + + private Date value; + + /** + * Creates a <code>DateTimeSyntax</code> with a given value. + * + * @param value the value for this syntax + * + * @exception NullPointerException if value is null + */ + protected DateTimeSyntax(Date value) + { + if (value == null) + throw new NullPointerException("value may not be null"); + + this.value = value; + } + + /** + * Returns the date value of this object. + * + * @return the date value + */ + public Date getValue() + { + return value; + } + + /** + * Tests if the given object is equal to this one. + * + * @param obj the object to test + * + * @return True if both objects are equal, false otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof DateTimeSyntax)) + return false; + + return value.equals(((DateTimeSyntax) obj).getValue()); + } + + /** + * Returns the hashcode for this object. + * + * @return the hashcode + */ + public int hashCode() + { + return value.hashCode(); + } +} diff --git a/libjava/javax/print/attribute/DocAttribute.java b/libjava/javax/print/attribute/DocAttribute.java new file mode 100644 index 00000000000..077fdaa1479 --- /dev/null +++ b/libjava/javax/print/attribute/DocAttribute.java @@ -0,0 +1,45 @@ +/* DocAttribute.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +/** + * @author Michael Koch + */ +public interface DocAttribute extends Attribute +{ +} diff --git a/libjava/javax/print/attribute/DocAttributeSet.java b/libjava/javax/print/attribute/DocAttributeSet.java new file mode 100644 index 00000000000..200420b6515 --- /dev/null +++ b/libjava/javax/print/attribute/DocAttributeSet.java @@ -0,0 +1,55 @@ +/* DocAttributeSet.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +/** + * @author Michael Koch + */ +public interface DocAttributeSet extends AttributeSet +{ + /** + * Adds the specified attribute value to this attribute set + * if it is not already present. + */ + boolean add (Attribute attribute); + + /** + * Adds all of the elements in the specified set to this attribute. + */ + boolean addAll (AttributeSet attributes); +} diff --git a/libjava/javax/print/attribute/IntegerSyntax.java b/libjava/javax/print/attribute/IntegerSyntax.java new file mode 100644 index 00000000000..2b713bf13a2 --- /dev/null +++ b/libjava/javax/print/attribute/IntegerSyntax.java @@ -0,0 +1,122 @@ +/* IntegerSyntax.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +import java.io.Serializable; + +/** + * @author Michael Koch + */ +public abstract class IntegerSyntax implements Cloneable, Serializable +{ + private int value; + + /** + * Creates a <code>IntegerSyntax</code> with the given value. + * + * @param value the value to set + */ + protected IntegerSyntax(int value) + { + this.value = value; + } + + /** + * Creates a <code>IntegerSyntax</code> with the given arguments. + * + * @param value the value to set + * @param lowerBound the lower bound for the value + * @param upperBound the upper bound for the value + * + * @exception IllegalArgumentException if value < lowerBound + * or value > upperBound + */ + protected IntegerSyntax(int value, int lowerBound, int upperBound) + { + if (value < lowerBound + || value > upperBound) + throw new IllegalArgumentException("value not in range"); + + this.value = value; + } + + /** + * Returns the value of this object. + * + * @return the value + */ + public int getValue() + { + return value; + } + + /** + * Tests of obj is equal to this object. + * + * @param obj the object to test + * + * @returns true if both objects are equal, false otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof IntegerSyntax)) + return false; + + return value == ((IntegerSyntax) obj).getValue(); + } + + /** + * Returns the hashcode for this object. + * + * @return the hashcode + */ + public int hashCode() + { + return value; + } + + /** + * Returns the string representation for this object. + * + * @return the string representation + */ + public String toString() + { + return "" + value; + } +} diff --git a/libjava/javax/print/attribute/ResolutionSyntax.java b/libjava/javax/print/attribute/ResolutionSyntax.java new file mode 100644 index 00000000000..150e19856b5 --- /dev/null +++ b/libjava/javax/print/attribute/ResolutionSyntax.java @@ -0,0 +1,220 @@ +/* ResolutionSyntax.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +import java.io.Serializable; + +/** + * @author Michael Koch + */ +public abstract class ResolutionSyntax + implements Cloneable, Serializable +{ + private static final long serialVersionUID = 2706743076526672017L; + + /** + * Constant for units of dots per centimeter. + */ + public static final int DPCM = 254; + + /** + * Constant for units of dots per inch + */ + public static final int DPI = 100; + + private int crossFeedResolution; + private int feedResolution; + + /** + * Creates a <code>ResolutionSyntax</code> object with the given arguments. + * + * @param crossFeedResolution the cross feed resolution + * @param feedResolution the feed resolution + * @param units the unit to use + * + * @exception IllegalArgumentException if preconditions fail + */ + public ResolutionSyntax(int crossFeedResolution, int feedResolution, + int units) + { + if (crossFeedResolution < 1 + || feedResolution < 1 + || units < 1) + throw new IllegalArgumentException("no argument may be less then 1"); + + this.crossFeedResolution = crossFeedResolution * units; + this.feedResolution = feedResolution * units; + } + + /** + * Tests of obj is equal to this object. + * + * @param obj the object to test + * + * @returns true if both objects are equal, false otherwise. + */ + public boolean equals(Object obj) + { + if(! (obj instanceof ResolutionSyntax)) + return false; + + ResolutionSyntax tmp = (ResolutionSyntax) obj; + + return (crossFeedResolution == tmp.getCrossFeedResolutionDphi() + && feedResolution == tmp.getFeedResolutionDphi()); + } + + /** + * Returns the cross feed resolution in units. + * + * @return the resolution + * + * @exception IllegalArgumenException if units < 1 + */ + public int getCrossFeedResolution(int units) + { + if (units < 1) + throw new IllegalArgumentException("units may not be less then 1"); + + int rount = units / 2; + return (crossFeedResolution + units) / units; + } + + /** + * Returns the raw cross feed resolution in units. + * + * @return the raw resolution + */ + protected int getCrossFeedResolutionDphi() + { + return crossFeedResolution; + } + + /** + * Returns the feed resolution in units. + * + * @return the resolution + * + * @exception IllegalArgumenException if units < 1 + */ + public int getFeedResolution(int units) + { + if (units < 1) + throw new IllegalArgumentException("units may not be less then 1"); + + int rount = units / 2; + return (crossFeedResolution + units) / units; + } + + /** + * Returns the raw feed resolution in units. + * + * @return the raw resolution + */ + protected int getFeedResolutionDphi() + { + return feedResolution; + } + + /** + * Returns the resolution as two field array. Index 0 is the cross feed + * resolution, index 1 the feed resolution. + * + * @param units the units to use + * + * @return the array with the resolutions + */ + public int[] getResolution(int units) + { + int[] resolution = new int[2]; + resolution[0] = getCrossFeedResolution(units); + resolution[1] = getFeedResolution(units); + return resolution; + } + + /** + * Returns the hashcode for this object. + * + * @return the hashcode + */ + public int hashCode() + { + return crossFeedResolution + feedResolution; + } + + /** + * Checks of other is a lower or equal resolution. + * + * @param other the resolution to check against + * + * @return true if other describes a lower or equal resolution + */ + public boolean lessThanOrEquals(ResolutionSyntax other) + { + if (other == null) + throw new NullPointerException("other may not be null"); + + return (crossFeedResolution <= other.getCrossFeedResolutionDphi() + && feedResolution <= other.getFeedResolutionDphi()); + } + + /** + * Returns the string representation for this object. + * + * @return the string representation + */ + public String toString() + { + return toString(1, "dphi"); + } + + /** + * Returns the string representation for this object. + * + * @param units the units to use + * @param unitsName the name of the units + * + * @return the string representation + */ + public String toString(int units, String unitsName) + { + return ("" + getCrossFeedResolution(units) + + "x" + getFeedResolution(units) + + " " + unitsName); + } +} diff --git a/libjava/javax/print/attribute/Size2DSyntax.java b/libjava/javax/print/attribute/Size2DSyntax.java new file mode 100644 index 00000000000..94743181a76 --- /dev/null +++ b/libjava/javax/print/attribute/Size2DSyntax.java @@ -0,0 +1,225 @@ +/* Size2DSyntax.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +import java.io.Serializable; + +/** + * @author Michael Koch + */ +public abstract class Size2DSyntax implements Cloneable, Serializable +{ + /** + * Constant for units of dots per mircometer to describe an inch. + */ + public static final int INCH = 25400; + + /** + * Constant for units of dots per mircometer to describe a centimeter. + */ + public static final int MM = 1000; + + private int x; + private int y; + + /** + * Creates a <code>Size2DSyntax</code> object with the given arguments. + * + * @param x the size in x direction + * @param y the size in y direction + * @param units the units to use for the sizes + * + * @exception IllegalArgumentException if preconditions fail + */ + protected Size2DSyntax(float x, float y, int units) + { + if (x < 0.0f || y < 0.0f) + throw new IllegalArgumentException("x and/or y may not be less then 0"); + + if (units < 1) + throw new IllegalArgumentException("units may not be less then 1"); + + this.x = (int) (x * units + 0.5f); + this.y = (int) (y * units + 0.5f); + } + + /** + * Creates a <code>Size2DSyntax</code> object with the given arguments. + * + * @param x the size in x direction + * @param y the size in y direction + * @param units the units to use for the sizes + * + * @exception IllegalArgumentException if preconditions fail + */ + protected Size2DSyntax(int x, int y, int units) + { + if (x < 0 || y < 0) + throw new IllegalArgumentException("x and/or y may not be less then 0"); + + if (units < 1) + throw new IllegalArgumentException("units may not be less then 1"); + + this.x = x * units; + this.y = y * units; + } + + /** + * Tests of obj is equal to this object. + * + * @param obj the object to test + * + * @returns true if both objects are equal, false otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof Size2DSyntax)) + return false; + + Size2DSyntax tmp = (Size2DSyntax) obj; + + return (x == tmp.getXMicrometers() + && y == tmp.getYMicrometers()); + } + + /** + * Return the size described in this object as a two field array. + * Index 0 contains the size in x direction, index 1 the size in + * y direction. + * + * @param units the units to use + * + * @return the array that describes the size + * + * @exception IllegalArgumentException if units < 1 + */ + public float[] getSize(int units) + { + float[] size = new float[2]; + size[0] = getX(units); + size[1] = getY(units); + return size; + } + + /** + * Return the size in x direction. + * + * @param units the units to use + * + * @return the size value + * + * @exception IllegalArgumentException if units < 1 + */ + public float getX(int units) + { + if (units < 1) + throw new IllegalArgumentException("units may not be less then 1"); + + return ((float) x) / ((float) units); + } + + /** + * Returns the size in x direction in mircometers. + * + * @return the size value + */ + protected int getXMicrometers() + { + return x; + } + + /** + * Return the size in y direction. + * + * @param units the units to use + * + * @return the size value + * + * @exception IllegalArgumentException if units < 1 + */ + public float getY(int units) + { + if (units < 1) + throw new IllegalArgumentException("units may not be less then 1"); + + return ((float) y) / ((float) units); + } + + /** + * Returns the size in y direction in mircometers. + * + * @return the size value + */ + protected int getYMicrometers() + { + return y; + } + + /** + * Returns the hashcode for this object. + * + * @return the hashcode + */ + public int hashCode() + { + return x + y; + } + + /** + * Returns the string representation for this object. + * + * @return the string representation + */ + public String toString() + { + return toString(1, "um"); + } + + /** + * Returns the string representation for this object. + * + * @param units the units to use + * @param unitsName the name of the units + * + * @return the string representation + */ + public String toString(int units, String unitsName) + { + return "" + getX(units) + "x" + getY(units) + " " + unitsName; + } +} diff --git a/libjava/javax/print/attribute/TextSyntax.java b/libjava/javax/print/attribute/TextSyntax.java new file mode 100644 index 00000000000..51909be9803 --- /dev/null +++ b/libjava/javax/print/attribute/TextSyntax.java @@ -0,0 +1,118 @@ +/* TextSyntax.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +import java.io.Serializable; +import java.util.Locale; + +/** + * @author Michael Koch + */ +public abstract class TextSyntax implements Cloneable, Serializable +{ + private static final long serialVersionUID = -8130648736378144102L; + + private String value; + private Locale locale; + + /** + * Creates a <code>TextSyntax</code> object with the given value + * and locale. + * + * @param value the value for this syntax + * @param locale the locale to use + * + * @exception NullPointerException if value is null + */ + protected TextSyntax(String value, Locale locale) + { + if (value == null) + throw new NullPointerException("value may not be null"); + + this.value = value; + this.locale = locale; + } + + /** + * Returns the value of this syntax object. + * + * @return the value + */ + public String getValue() + { + return value; + } + + /** + * Returns the locale of this syntax object. + * + * @return the locale + */ + public Locale getLocale() + { + return locale; + } + + /** + * Returns the hashcode for this object. + * + * @return the hashcode + */ + public int hashCode() + { + return value.hashCode() + locale.hashCode(); + } + + /** + * Tests of obj is equal to this object. + * + * @param obj the object to test + * + * @returns true if both objects are equal, false otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof TextSyntax)) + return false; + + TextSyntax tmp = (TextSyntax) obj; + + return (value.equals(tmp.getValue()) + && locale.equals(tmp.getLocale())); + } +} diff --git a/libjava/javax/print/attribute/URISyntax.java b/libjava/javax/print/attribute/URISyntax.java new file mode 100644 index 00000000000..da2667ddc81 --- /dev/null +++ b/libjava/javax/print/attribute/URISyntax.java @@ -0,0 +1,112 @@ +/* URISyntax.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +import java.io.Serializable; +import java.net.URI; + +/** + * @author Michael Koch + */ +public abstract class URISyntax + implements Cloneable, Serializable +{ + private static final long serialVersionUID = 3666874174847632203L; + + private URI uri; + + /** + * Creates a <code>URISyntax</code> object. + * + * @param uri the URI value for the syntax + * + * @exception NullPointerException if uri is null + */ + protected URISyntax(URI uri) + { + if (uri == null) + throw new NullPointerException("uri may not be null"); + + this.uri = uri; + } + + /** + * Tests of obj is equal to this object. + * + * @param obj the object to test + * + * @returns true if both objects are equal, false otherwise. + */ + public boolean equals(Object obj) + { + if (! (obj instanceof URISyntax)) + return false; + + return uri.equals(((URISyntax) obj).getURI()); + } + + /** + * Returns the URI value of this syntax object. + * + * @return the URI + */ + public URI getURI() + { + return uri; + } + + /** + * Returns the hashcode for this object. + * + * @return the hashcode + */ + public int hashCode() + { + return uri.hashCode(); + } + + /** + * Returns the string representation for this object. + * + * @return the string representation + */ + public String toString() + { + return uri.toString(); + } +} diff --git a/libjava/javax/print/attribute/UnmodifiableSetException.java b/libjava/javax/print/attribute/UnmodifiableSetException.java new file mode 100644 index 00000000000..83d389d2b2c --- /dev/null +++ b/libjava/javax/print/attribute/UnmodifiableSetException.java @@ -0,0 +1,65 @@ +/* Attribute.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.print.attribute; + +/** + * @author Michael Koch + * + * @since 1.4 + */ +public class UnmodifiableSetException extends RuntimeException +{ + /** + * Creates a <code>UnmodifiableSetException</code>. + */ + public UnmodifiableSetException() + { + super(); + } + + /** + * Creates a <code>UnmodifiableSetException</code> + * with the given message. + * + * @param message the message for the exception + */ + public UnmodifiableSetException(String message) + { + super(message); + } +} |