javax.print.attribute
Class ResolutionSyntax

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by javax.print.attribute.ResolutionSyntax
All Implemented Interfaces:
Serializable sample code for java.io.Serializable definition code for java.io.Serializable , Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable
Direct Known Subclasses:
PrinterResolution sample code for javax.print.attribute.standard.PrinterResolution definition code for javax.print.attribute.standard.PrinterResolution

public abstract class ResolutionSyntax
extends Object sample code for java.lang.Object definition code for java.lang.Object
implements Serializable sample code for java.io.Serializable definition code for java.io.Serializable , Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable

Class ResolutionSyntax is an abstract base class providing the common implementation of all attributes denoting a printer resolution.

A resolution attribute's value consists of two items, the cross feed direction resolution and the feed direction resolution. A resolution attribute may be constructed by supplying the two values and indicating the units in which the values are measured. Methods are provided to return a resolution attribute's values, indicating the units in which the values are to be returned. The two most common resolution units are dots per inch (dpi) and dots per centimeter (dpcm), and exported constants DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI and DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM are provided for indicating those units.

Once constructed, a resolution attribute's value is immutable.

Design

A resolution attribute's cross feed direction resolution and feed direction resolution values are stored internally using units of dots per 100 inches (dphi). Storing the values in dphi rather than, say, metric units allows precise integer arithmetic conversions between dpi and dphi and between dpcm and dphi: 1 dpi = 100 dphi, 1 dpcm = 254 dphi. Thus, the values can be stored into and retrieved back from a resolution attribute in either units with no loss of precision. This would not be guaranteed if a floating point representation were used. However, roundoff error will in general occur if a resolution attribute's values are created in one units and retrieved in different units; for example, 600 dpi will be rounded to 236 dpcm, whereas the true value (to five figures) is 236.22 dpcm.

Storing the values internally in common units of dphi lets two resolution attributes be compared without regard to the units in which they were created; for example, 300 dpcm will compare equal to 762 dpi, as they both are stored as 76200 dphi. In particular, a lookup service can match resolution attributes based on equality of their serialized representations regardless of the units in which they were created. Again, using integers for internal storage allows precise equality comparisons to be done, which would not be guaranteed if a floating point representation were used.

The exported constant DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI is actually the conversion factor by which to multiply a value in dpi to get the value in dphi. Likewise, the exported constant DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM is the conversion factor by which to multiply a value in dpcm to get the value in dphi. A client can specify a resolution value in units other than dpi or dpcm by supplying its own conversion factor. However, since the internal units of dphi was chosen with supporting only the external units of dpi and dpcm in mind, there is no guarantee that the conversion factor for the client's units will be an exact integer. If the conversion factor isn't an exact integer, resolution values in the client's units won't be stored precisely.

See Also:
Serialized Form

Field Summary
static int DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM
          Value to indicate units of dots per centimeter (dpcm).
static int DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI
          Value to indicate units of dots per inch (dpi).
 
Constructor Summary
ResolutionSyntax sample code for javax.print.attribute.ResolutionSyntax.ResolutionSyntax(int, int, int) definition code for javax.print.attribute.ResolutionSyntax.ResolutionSyntax(int, int, int) (int crossFeedResolution, int feedResolution, int units)
          Construct a new resolution attribute from the given items.
 
Method Summary
 boolean equals sample code for javax.print.attribute.ResolutionSyntax.equals(java.lang.Object) definition code for javax.print.attribute.ResolutionSyntax.equals(java.lang.Object) (Object sample code for java.lang.Object definition code for java.lang.Object  object)
          Returns whether this resolution attribute is equivalent to the passed in object.
 int getCrossFeedResolution sample code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolution(int) definition code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolution(int) (int units)
          Returns this resolution attribute's cross feed direction resolution in the given units.
protected  int getCrossFeedResolutionDphi sample code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolutionDphi() definition code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolutionDphi() ()
          Returns this resolution attribute's cross feed direction resolution in units of dphi.
 int getFeedResolution sample code for javax.print.attribute.ResolutionSyntax.getFeedResolution(int) definition code for javax.print.attribute.ResolutionSyntax.getFeedResolution(int) (int units)
          Returns this resolution attribute's feed direction resolution in the given units.
protected  int getFeedResolutionDphi sample code for javax.print.attribute.ResolutionSyntax.getFeedResolutionDphi() definition code for javax.print.attribute.ResolutionSyntax.getFeedResolutionDphi() ()
          Returns this resolution attribute's feed direction resolution in units of dphi.
 int[] getResolution sample code for javax.print.attribute.ResolutionSyntax.getResolution(int) definition code for javax.print.attribute.ResolutionSyntax.getResolution(int) (int units)
          Get this resolution attribute's resolution values in the given units.
 int hashCode sample code for javax.print.attribute.ResolutionSyntax.hashCode() definition code for javax.print.attribute.ResolutionSyntax.hashCode() ()
          Returns a hash code value for this resolution attribute.
 boolean lessThanOrEquals sample code for javax.print.attribute.ResolutionSyntax.lessThanOrEquals(javax.print.attribute.ResolutionSyntax) definition code for javax.print.attribute.ResolutionSyntax.lessThanOrEquals(javax.print.attribute.ResolutionSyntax) (ResolutionSyntax sample code for javax.print.attribute.ResolutionSyntax definition code for javax.print.attribute.ResolutionSyntax  other)
          Determine whether this resolution attribute's value is less than or equal to the given resolution attribute's value.
 String sample code for java.lang.String definition code for java.lang.String toString sample code for javax.print.attribute.ResolutionSyntax.toString() definition code for javax.print.attribute.ResolutionSyntax.toString() ()
          Returns a string version of this resolution attribute.
 String sample code for java.lang.String definition code for java.lang.String toString sample code for javax.print.attribute.ResolutionSyntax.toString(int, java.lang.String) definition code for javax.print.attribute.ResolutionSyntax.toString(int, java.lang.String) (int units, String sample code for java.lang.String definition code for java.lang.String  unitsName)
          Returns a string version of this resolution attribute in the given units.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Field Detail

DPI sample code for javax.print.attribute.ResolutionSyntax.DPI

public static final int DPI
Value to indicate units of dots per inch (dpi). It is actually the conversion factor by which to multiply dpi to yield dphi (100).

See Also:
Constant Field Values

DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM

public static final int DPCM
Value to indicate units of dots per centimeter (dpcm). It is actually the conversion factor by which to multiply dpcm to yield dphi (254).

See Also:
Constant Field Values
Constructor Detail

ResolutionSyntax sample code for javax.print.attribute.ResolutionSyntax(int, int, int) definition code for javax.print.attribute.ResolutionSyntax(int, int, int)

public ResolutionSyntax(int crossFeedResolution,
                        int feedResolution,
                        int units)
Construct a new resolution attribute from the given items.

Parameters:
crossFeedResolution - Cross feed direction resolution.
feedResolution - Feed direction resolution.
units - Unit conversion factor, e.g. DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI or DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM .
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - (unchecked exception) Thrown if crossFeedResolution < 1 or feedResolution < 1 or units < 1.
Method Detail

getResolution sample code for javax.print.attribute.ResolutionSyntax.getResolution(int) definition code for javax.print.attribute.ResolutionSyntax.getResolution(int)

public int[] getResolution(int units)
Get this resolution attribute's resolution values in the given units. The values are rounded to the nearest integer.

Parameters:
units - Unit conversion factor, e.g. DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI or DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM .
Returns:
A two-element array with the cross feed direction resolution at index 0 and the feed direction resolution at index 1.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - (unchecked exception) Thrown if units < 1.

getCrossFeedResolution sample code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolution(int) definition code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolution(int)

public int getCrossFeedResolution(int units)
Returns this resolution attribute's cross feed direction resolution in the given units. The value is rounded to the nearest integer.

Parameters:
units - Unit conversion factor, e.g. DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI or DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM .
Returns:
Cross feed direction resolution.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - (unchecked exception) Thrown if units < 1.

getFeedResolution sample code for javax.print.attribute.ResolutionSyntax.getFeedResolution(int) definition code for javax.print.attribute.ResolutionSyntax.getFeedResolution(int)

public int getFeedResolution(int units)
Returns this resolution attribute's feed direction resolution in the given units. The value is rounded to the nearest integer.

Parameters:
units - Unit conversion factor, e.g. DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI or DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM .
Returns:
Feed direction resolution.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - (unchecked exception) Thrown if units < 1.

toString sample code for javax.print.attribute.ResolutionSyntax.toString(int, java.lang.String) definition code for javax.print.attribute.ResolutionSyntax.toString(int, java.lang.String)

public String sample code for java.lang.String definition code for java.lang.String  toString(int units,
                       String sample code for java.lang.String definition code for java.lang.String  unitsName)
Returns a string version of this resolution attribute in the given units. The string takes the form "CxF U", where C is the cross feed direction resolution, F is the feed direction resolution, and U is the units name. The values are rounded to the nearest integer.

Parameters:
units - Unit conversion factor, e.g. DPI sample code for javax.print.attribute.ResolutionSyntax.DPI definition code for javax.print.attribute.ResolutionSyntax.DPI or DPCM sample code for javax.print.attribute.ResolutionSyntax.DPCM definition code for javax.print.attribute.ResolutionSyntax.DPCM .
unitsName - Units name string, e.g. "dpi" or "dpcm". If null, no units name is appended to the result.
Returns:
String version of this resolution attribute.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - (unchecked exception) Thrown if units < 1.

lessThanOrEquals sample code for javax.print.attribute.ResolutionSyntax.lessThanOrEquals(javax.print.attribute.ResolutionSyntax) definition code for javax.print.attribute.ResolutionSyntax.lessThanOrEquals(javax.print.attribute.ResolutionSyntax)

public boolean lessThanOrEquals(ResolutionSyntax sample code for javax.print.attribute.ResolutionSyntax definition code for javax.print.attribute.ResolutionSyntax  other)
Determine whether this resolution attribute's value is less than or equal to the given resolution attribute's value. This is true if all of the following conditions are true:

Parameters:
other - Resolution attribute to compare with.
Returns:
True if this resolution attribute is less than or equal to the other resolution attribute, false otherwise.
Throws:
NullPointerException sample code for java.lang.NullPointerException definition code for java.lang.NullPointerException - (unchecked exception) Thrown if other is null.

equals sample code for javax.print.attribute.ResolutionSyntax.equals(java.lang.Object) definition code for javax.print.attribute.ResolutionSyntax.equals(java.lang.Object)

public boolean equals(Object sample code for java.lang.Object definition code for java.lang.Object  object)
Returns whether this resolution attribute is equivalent to the passed in object. To be equivalent, all of the following conditions must be true:
  1. object is not null.
  2. object is an instance of class ResolutionSyntax.
  3. This attribute's cross feed direction resolution is equal to object's cross feed direction resolution.
  4. This attribute's feed direction resolution is equal to object's feed direction resolution.

Overrides:
equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) in class Object sample code for java.lang.Object definition code for java.lang.Object
Parameters:
object - Object to compare to.
Returns:
True if object is equivalent to this resolution attribute, false otherwise.
See Also:
Object.hashCode() sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , Hashtable sample code for java.util.Hashtable definition code for java.util.Hashtable

hashCode sample code for javax.print.attribute.ResolutionSyntax.hashCode() definition code for javax.print.attribute.ResolutionSyntax.hashCode()

public int hashCode()
Returns a hash code value for this resolution attribute.

Overrides:
hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
a hash code value for this object.
See Also:
Object.equals(java.lang.Object) sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , Hashtable sample code for java.util.Hashtable definition code for java.util.Hashtable

toString sample code for javax.print.attribute.ResolutionSyntax.toString() definition code for javax.print.attribute.ResolutionSyntax.toString()

public String sample code for java.lang.String definition code for java.lang.String  toString()
Returns a string version of this resolution attribute. The string takes the form "CxF dphi", where C is the cross feed direction resolution and F is the feed direction resolution. The values are reported in the internal units of dphi.

Overrides:
toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
a string representation of the object.

getCrossFeedResolutionDphi sample code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolutionDphi() definition code for javax.print.attribute.ResolutionSyntax.getCrossFeedResolutionDphi()

protected int getCrossFeedResolutionDphi()
Returns this resolution attribute's cross feed direction resolution in units of dphi. (For use in a subclass.)

Returns:
Cross feed direction resolution.

getFeedResolutionDphi sample code for javax.print.attribute.ResolutionSyntax.getFeedResolutionDphi() definition code for javax.print.attribute.ResolutionSyntax.getFeedResolutionDphi()

protected int getFeedResolutionDphi()
Returns this resolution attribute's feed direction resolution in units of dphi. (For use in a subclass.)

Returns:
Feed direction resolution.