javax.print.attribute
public abstract class ResolutionSyntax extends Object implements Cloneable, Serializable
ResolutionSyntax
is the abstract base class of all attribute
classes which provide a resolution as value (e.g. printer resolution).
A ResolutionSyntax
instance consists of two integer values
describing the resolution in feed and cross feed direction. The units of
the given values is determined by two defined constants:
A resolutions attribute is constructed by two values for the resolution and one of the two constants defining the actual units of the given values.
There are different methods provided to return the resolution values in either of the both units and to compare if a resolution is less than or equal to a given other resolution attribute.
Internal storage:
The resolutions are stored internally as dots per 100 inches (dphi). The
values of the provided constants for dots per inch (value 100) and dots
per centimeter (value 254) are used as conversion factors to the internal
storage units. To get the internal dphi values a multiplication of a given
resolution value with its units constant value is needed. Retrieving the
resolution for specific units is done by dividing the internal stored
value through the units constant value. Clients are therefore able to
provide their own resolution units by supplying other conversion factors.
Subclasses of ResolutionSyntax
have access to the internal
resolution values through the protected methods
getCrossFeedResolutionDphi()
and getFeedResolutionDphi()
.
Modifier and Type | Field and Description |
---|---|
static int |
DPCM
Constant for units of dots per centimeter.
|
static int |
DPI
Constant for units of dots per inch
|
Constructor and Description |
---|
ResolutionSyntax(int crossFeedResolution,
int feedResolution,
int units)
Creates a
ResolutionSyntax object with the given arguments. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Tests if the given object is equal to this object.
|
int |
getCrossFeedResolution(int units)
Returns the cross feed resolution for the given units.
|
protected int |
getCrossFeedResolutionDphi()
Returns the raw cross feed resolution in dots per 100 inches.
|
int |
getFeedResolution(int units)
Returns the feed resolution for the given units.
|
protected int |
getFeedResolutionDphi()
Returns the raw feed resolution in dots per 100 inches.
|
int[] |
getResolution(int units)
Returns the resolution as two field array.
|
int |
hashCode()
Returns the hashcode for this object.
|
boolean |
lessThanOrEquals(ResolutionSyntax other)
Checks if the given resolution attribute is a lower or equal
to this resolution object.
|
String |
toString()
Returns the string representation for this object.
|
String |
toString(int units,
String unitsName)
Returns the string representation for this object.
|
public static final int DPCM
public static final int DPI
public ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
ResolutionSyntax
object with the given arguments.crossFeedResolution
- the cross feed resolutionfeedResolution
- the feed resolutionunits
- the unit to use (e.g. DPCM
or DPI
)IllegalArgumentException
- if preconditions failpublic boolean equals(Object obj)
equals
in class Object
obj
- the object to testtrue
if both objects are equal,
false
otherwise.Object.hashCode()
public int getCrossFeedResolution(int units)
units
- the unit to use (e.g. DPCM
or DPI
)IllegalArgumentException
- if units < 1protected int getCrossFeedResolutionDphi()
public int getFeedResolution(int units)
units
- the unit to use (e.g. DPCM
or DPI
)IllegalArgumentException
- if units < 1protected int getFeedResolutionDphi()
public int[] getResolution(int units)
units
- the units to usepublic int hashCode()
hashCode
in class Object
Object.equals(Object)
,
System.identityHashCode(Object)
public boolean lessThanOrEquals(ResolutionSyntax other)
other
- the resolution to check againsttrue
if other resolution attribute describes
a lower or equal resolution, false
otherwise.public String toString()
The returned string is in the form "CxF dphi" with C standing for the cross feed and F for the feed direction resolution. Units used are dots per 100 inches (dphi).
toString
in class Object
Object.getClass()
,
Object.hashCode()
,
Class.getName()
,
Integer.toHexString(int)
public String toString(int units, String unitsName)
The returned string is in the form "CxF U" with C standing for the cross feed and F for the feed direction resolution. U denotes the units name if one is supplied.
units
- the units to useunitsName
- the name of the units. If null
it is ommitted from the string representation.