javax.print.attribute

Class Size2DSyntax

public abstract class Size2DSyntax extends Object implements Cloneable, Serializable

Size2DSyntax is the abstract base class of all attribute classes which provide a two dimensional size as value (e.g. the size of a media like Letter or A4).

A Size2DSyntax instance consists of two integer values describing the size in the x and y dimension. The units of the given values is determined by two defined constants:

A size 2D attribute is constructed by two values for the size of the x and y dimension and the actual units of the given values as defined by the constants.

There are different methods provided to return the size values for the dimensions in either of the two predefined units or with a given client supplied units conversion factor.

Internal storage:
The size of the x,y dimensions are stored internally in micrometers. The values of the provided constants for inch (value 25400) and millimeters (value 1000) are used as conversion factors to the internal storage units. To get the internal micrometers values a multiplication of a given size value with its units constant value is done. Retrieving the size value for specific units is done by dividing the internal stored value by the units constant value. Clients are therefore able to provide their own size units by supplying other conversion factors. Subclasses of Size2DSyntax have access to the internal size values through the protected methods {@link #getXMicrometers()} and {@link #getYMicrometers()}.

Field Summary
static intINCH
Constant for the units of inches.
static intMM
Constant for the units of millimeters.
Constructor Summary
protected Size2DSyntax(float x, float y, int units)
Creates a Size2DSyntax object with the given arguments.
protected Size2DSyntax(int x, int y, int units)
Creates a Size2DSyntax object with the given arguments.
Method Summary
booleanequals(Object obj)
Tests if the given object is equal to this object.
float[]getSize(int units)
Returns the size described in this object as a two field array.
floatgetX(int units)
Returns the size in x direction.
protected intgetXMicrometers()
Returns the size in x direction in mircometers.
floatgetY(int units)
Return the size in y direction.
protected intgetYMicrometers()
Returns the size in y direction in mircometers.
inthashCode()
Returns the hashcode for this object.
StringtoString()
Returns the string representation for this object.
StringtoString(int units, String unitsName)
Returns the string representation for this object.

Field Detail

INCH

public static final int INCH
Constant for the units of inches. The actual value is the conversion factor to micrometers.

MM

public static final int MM
Constant for the units of millimeters. The actual value is the conversion factor to micrometers.

Constructor Detail

Size2DSyntax

protected Size2DSyntax(float x, float y, int units)
Creates a Size2DSyntax object with the given arguments.

Parameters: x the size in x direction y the size in y direction units the units to use for the sizes

Throws: IllegalArgumentException if x or y < 0 or units < 1

Size2DSyntax

protected Size2DSyntax(int x, int y, int units)
Creates a Size2DSyntax object with the given arguments.

Parameters: x the size in x direction y the size in y direction units the units to use for the sizes

Throws: IllegalArgumentException if x or y < 0 or units < 1

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.

getSize

public float[] getSize(int units)
Returns 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.

Parameters: units the units to use

Returns: The array with the size dimensions.

Throws: IllegalArgumentException if units < 1

getX

public float getX(int units)
Returns the size in x direction.

Parameters: units the units to use

Returns: The size in x direction.

Throws: IllegalArgumentException if units < 1

getXMicrometers

protected int getXMicrometers()
Returns the size in x direction in mircometers. To be used by sublcasses that need access to the internal storage value.

Returns: The size in x direction in micrometers.

getY

public float getY(int units)
Return the size in y direction.

Parameters: units the units to use

Returns: The size in y direction.

Throws: IllegalArgumentException if units < 1

getYMicrometers

protected int getYMicrometers()
Returns the size in y direction in mircometers. To be used by sublcasses that need access to the internal storage value.

Returns: The size in y direction in micrometers.

hashCode

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

Returns: The hashcode.

toString

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

The returned string is in the form "XxY um" with X standing for size in x and Y for the size in y direction. The used micrometers units is indicated by the appended "um" notation.

Returns: The string representation in micrometers.

toString

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

The returned string is in the form "XxY U" with X standing for size in x and Y for the size in y direction. U denotes the units name if one is supplied. The values are given as floating point values.

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.