- java.lang.Object
-
- javax.print.attribute.ResolutionSyntax
-
- すべての実装されたインタフェース:
Serializable
,Cloneable
- 直系の既知のサブクラス:
PrinterResolution
public abstract class ResolutionSyntax extends Object implements Serializable, Cloneable
ResolutionSyntaxクラスは、プリンタの解像度を示すすべての属性の一般的な実装を提供する抽象基底クラスです。解像度属性の値は、前後送り方向の解像度と送り方向の解像度の2項目から構成されます。 解像度属性は、この2つの値を提供し、値を測る単位を指定することにより構築されます。 メソッドは、解像度属性の値を返すように提供され、値が返される単位が示されます。 もっとも一般的な2種類の解像度の単位は、1インチあたりのドット数(dpi)と1センチ当たりのドット数(dpcm)で、エクスポートされる定数
DPI
とDPCM
はこれらの単位を示すために提供されます。解像度属性は、いったん構築されると変更できません。
設計
解像度属性の前後送り方向の解像度と送り方向の解像度の値は、100インチ当たりドット数(dphi)単位を使用して内部に格納されます。 いわゆるメートル法単位ではなくdphi単位の値を格納することにより、1 dpi = 100 dphi、1 dpcm = 254 dphiなどdpiとdphiとの間、およびdpcmとdphiとの間の整数型の正確な算術変換が可能になります。 この結果、値がどの単位でも正確さを失うことなく解像度属性に格納され、取り出せます。 浮動小数点の表現が使用される場合、これは保証されません。 ただし、解像度属性の値がある単位で作成され、別の単位で取り出された場合、通常四捨五入の誤差が発生します。たとえば、600 dpiは5桁の真の値は236.22 dpcmなのに236 dpcmに四捨五入されます。
dphiを共通の単位として値を内部に格納することにより、作成された単位にかかわらず2つの解像度属性が比較できます。たとえば、両方とも76200 dphiとして格納されているため、300 dpcmは762 dpiと等しいことが比較によりわかります。 特に、検索サービスは、作成された単位にかかわらず、直列化表現が等しいかどうかに基づいて解像度属性を照合できます。 このように、内部ストレージに整数型を使用することにより、正確な同等性の比較が可能になります。ただし、これは浮動小数点表現が使用される場合は保証されません。
エクスポートされる定数
DPI
は、実際にdpi単位の値に乗算して、dphi単位の値を取得する変換係数です。 同様に、エクスポートされる定数DPCM
は、dpcm単位の値に乗算してdphi単位の値を取得する変換係数です。 クライアントは、クライアント自身の変換係数を提供してdpiまたはdpcm以外の単位で解像度属性を指定できます。 ただし、内部単位dphiは、外部単位dpiとdpcmだけを考慮してサポートするよう選択されているので、クライアントの単位の変換係数が正確な整数型となるかどうか保証されません。 変換係数が正確な整数型ではない場合、クライアントの単位の解像度の値は正確に格納されません。- 関連項目:
- 直列化された形式
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
指定された項目から新しい解像度属性を構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 boolean
equals(Object object)
この解像度属性がオブジェクトに渡された属性と等しいかどうかを返します。int
getCrossFeedResolution(int units)
指定された単位で解像度属性の前後送り方向の解像度を返します。protected int
getCrossFeedResolutionDphi()
単位dphiで、この解像度属性の前後送り方向の解像度を返しますint
getFeedResolution(int units)
指定された単位で解像度属性の送り方向の解像度を返します。protected int
getFeedResolutionDphi()
単位dphiで、この解像度属性の送り方向の解像度を返しますint[]
getResolution(int units)
指定された単位で解像度属性の値を返します。int
hashCode()
この解像度属性のハッシュ・コード値を返します。boolean
lessThanOrEquals(ResolutionSyntax other)
この解像度属性の値が指定された解像度属性の値より小さいかまたは等しいかどうかを判定します。String
toString()
この解像度属性の文字列バージョンを返します。String
toString(int units, String unitsName)
指定された単位で解像度属性の文字列バージョンを返します。
-
-
-
コンストラクタの詳細
-
ResolutionSyntax
public ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
指定された項目から新しい解像度属性を構築します。- パラメータ:
crossFeedResolution
- 前後送り方向の解像度。feedResolution
- 送り方向の解像度。units
- 単位変換係数。DPI
やDPCM
など。- 例外:
IllegalArgumentException
- 非チェック例外。crossFeedResolution < 1
またはfeedResolution < 1
またはunits < 1
の場合にスローされる。
-
-
メソッドの詳細
-
getResolution
public int[] getResolution(int units)
指定された単位で解像度属性の値を返します。 値はもっとも近い整数値に四捨五入されます。- パラメータ:
units
- 単位変換係数。DPI
やDPCM
など。- 戻り値:
- インデックス0にある前後送り方向の解像度、およびインデックス1にある送り方向の解像度を持つ2要素の配列
- 例外:
IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。
-
getCrossFeedResolution
public int getCrossFeedResolution(int units)
指定された単位で解像度属性の前後送り方向の解像度を返します。 値はもっとも近い整数値に四捨五入されます。- パラメータ:
units
- 単位変換係数。DPI
やDPCM
など。- 戻り値:
- 前後送り方向の解像度
- 例外:
IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。
-
getFeedResolution
public int getFeedResolution(int units)
指定された単位で解像度属性の送り方向の解像度を返します。 値はもっとも近い整数値に四捨五入されます。- パラメータ:
units
- 単位変換係数。DPI
やDPCM
など。- 戻り値:
- 送り方向の解像度
- 例外:
IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。
-
toString
public String toString(int units, String unitsName)
指定された単位で解像度属性の文字列バージョンを返します。 文字列は、"CxF U"
の形式をとります。ここで、Cは前後送り方向の解像度、Fは送り方向の解像度、Uは単位名です。 値はもっとも近い整数値に四捨五入されます。- パラメータ:
units
- 単位変換係数。DPI
やDPCM
など。unitsName
- 単位名の文字列。"dpi"
や"dpcm"
など。 nullの場合、結果に単位名は付けられない。- 戻り値:
- この解像度属性の文字列バージョン
- 例外:
IllegalArgumentException
- 非チェック例外。units < 1
の場合にスローされる。
-
lessThanOrEquals
public boolean lessThanOrEquals(ResolutionSyntax other)
この解像度属性の値が指定された解像度属性の値より小さいかまたは等しいかどうかを判定します。 次のすべての条件がtrueの場合にtrueになります。-
この属性の前後送り方向の解像度が
other
属性の前後送り方向の解像度より小さいか、または等しい。 -
この属性の送り方向の解像度が
other
属性の送り方向の解像度より小さいか、または等しい。
- パラメータ:
other
- 比較対象の解像度属性。- 戻り値:
- この解像度属性が
other
解像度属性より小さいか、または等しい場合はtrue、そうでない場合はfalse。 - 例外:
NullPointerException
- 非チェック例外。other
がnullの場合にスローされる。
-
この属性の前後送り方向の解像度が
-
equals
public boolean equals(Object object)
この解像度属性がオブジェクトに渡された属性と等しいかどうかを返します。 次の条件がすべてtrueの場合に同等とみなされます。-
object
がnullではない。 -
object
がResolutionSyntaxクラスのインスタンスである。 -
この属性の前後送り方向の解像度が
object
の前後送り方向の解像度に等しい。 -
この属性の送り方向の解像度が
object
の送り方向の解像度に等しい。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
object
- 比較対象のオブジェクト。- 戻り値:
object
がこの解像度属性と等しい場合はtrue、そうでない場合はfalse。- 関連項目:
Object.hashCode()
,HashMap
-
-
hashCode
public int hashCode()
この解像度属性のハッシュ・コード値を返します。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
この解像度属性の文字列バージョンを返します。 文字列は、"CxF dphi"
の形式をとります。ここで、Cは前後送り方向の解像度、Fは送り方向の解像度です。 値は内部単位dphiで報告されます。
-
getCrossFeedResolutionDphi
protected int getCrossFeedResolutionDphi()
単位dphiで、この解像度属性の前後送り方向の解像度を返します (サブクラスで使用)。- 戻り値:
- 前後送り方向の解像度
-
getFeedResolutionDphi
protected int getFeedResolutionDphi()
単位dphiで、この解像度属性の送り方向の解像度を返します (サブクラスで使用)。- 戻り値:
- 送り方向の解像度
-
-