javax.print.attribute

Class ResolutionSyntax

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 {@link #getCrossFeedResolutionDphi()} and {@link #getFeedResolutionDphi()}.

Field Summary
static intDPCM
Constant for units of dots per centimeter.
static intDPI
Constant for units of dots per inch
Constructor Summary
ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
Creates a ResolutionSyntax object with the given arguments.
Method Summary
booleanequals(Object obj)
Tests if the given object is equal to this object.
intgetCrossFeedResolution(int units)
Returns the cross feed resolution for the given units.
protected intgetCrossFeedResolutionDphi()
Returns the raw cross feed resolution in dots per 100 inches.
intgetFeedResolution(int units)
Returns the feed resolution for the given units.
protected intgetFeedResolutionDphi()
Returns the raw feed resolution in dots per 100 inches.
int[]getResolution(int units)
Returns the resolution as two field array.
inthashCode()
Returns the hashcode for this object.
booleanlessThanOrEquals(ResolutionSyntax other)
Checks if the given resolution attribute is a lower or equal to this resolution object.
StringtoString()
Returns the string representation for this object.
StringtoString(int units, String unitsName)
Returns the string representation for this object.

Field Detail

DPCM

public static final int DPCM
Constant for units of dots per centimeter.

DPI

public static final int DPI
Constant for units of dots per inch

Constructor Detail

ResolutionSyntax

public ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
Creates a ResolutionSyntax object with the given arguments.

Parameters: crossFeedResolution the cross feed resolution feedResolution the feed resolution units the unit to use (e.g. {@link #DPCM} or {@link #DPI})

Throws: IllegalArgumentException if preconditions fail

Method Detail

equals

public boolean equals(Object obj)
Tests if the given object is equal to this object.

Parameters: obj the object to test

Returns: true if both objects are equal, false otherwise.

getCrossFeedResolution

public int getCrossFeedResolution(int units)
Returns the cross feed resolution for the given units.

Parameters: units the unit to use (e.g. {@link #DPCM} or {@link #DPI})

Returns: The resolution for the given units.

Throws: IllegalArgumentException if units < 1

getCrossFeedResolutionDphi

protected int getCrossFeedResolutionDphi()
Returns the raw cross feed resolution in dots per 100 inches.

Returns: The raw resolution.

getFeedResolution

public int getFeedResolution(int units)
Returns the feed resolution for the given units.

Parameters: units the unit to use (e.g. {@link #DPCM} or {@link #DPI})

Returns: The resolution for the given units.

Throws: IllegalArgumentException if units < 1

getFeedResolutionDphi

protected int getFeedResolutionDphi()
Returns the raw feed resolution in dots per 100 inches.

Returns: The raw resolution.

getResolution

public int[] getResolution(int units)
Returns the resolution as two field array. Index 0 is the cross feed resolution, index 1 the feed resolution.

Parameters: units the units to use

Returns: The array with the resolutions.

hashCode

public int hashCode()
Returns the hashcode for this object.

Returns: The hashcode.

lessThanOrEquals

public boolean lessThanOrEquals(ResolutionSyntax other)
Checks if the given resolution attribute is a lower or equal to this resolution object.

Parameters: other the resolution to check against

Returns: true if other resolution attribute describes a lower or equal resolution, false otherwise.

toString

public String toString()
Returns the string representation for this object.

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).

Returns: The string representation.

toString

public String toString(int units, String unitsName)
Returns the string representation for this object.

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.

Parameters: units the units to use unitsName the name of the units. If null it is ommitted from the string representation.

Returns: The string representation.