JavaTM 2
Platform
Std. Ed. v1.4.0

javax.print.attribute
クラス ResolutionSyntax

java.lang.Object
  |
  +--javax.print.attribute.ResolutionSyntax
すべての実装インタフェース:
Cloneable, Serializable
直系の既知のサブクラス:
PrinterResolution

public abstract class ResolutionSyntax
extends Object
implements Serializable, Cloneable

ResolutionSyntax クラスは、プリンタの解像度を示すすべての属性の一般的な実装を提供する抽象基底クラスです。

解像度属性の値は、前後送り方向の解像度と送り方向の解像度の 2 項目から構成されます。解像度属性は、この 2 つの値を提供し、値を測る単位を指定することにより構築されます。メソッドは、解像度属性の値を返すように提供され、値が返される単位が示されます。もっとも一般的な 2 種類の解像度の単位は、1 インチあたりのドット数 (dpi) と 1 センチあたりのドット数 (dpcm) で、エクスポートされる定数 DPIDPCM はこれらの単位を示すために提供されます。

解像度属性は、いったん構築されると変更できません。

設計

解像度属性の前後送り方向の解像度と送り方向の解像度の値は、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 だけを考慮してサポートするよう選択されているので、クライアントの単位の変換係数が正確な整数型となるかどうか保証されません。変換係数が正確な整数型ではない場合、クライアントの単位の解像度の値は正確に格納されません。

関連項目:
直列化された形式

フィールドの概要
static int DPCM
          1 センチあたりドット数 (dpcm) を示す値です。
static int DPI
          1 インチあたりドット数 (dpi) を示す値です。
 
コンストラクタの概要
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)
          指定された単位で解像度属性の文字列バージョンを返します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

DPI

public static final int DPI
1 インチあたりドット数 (dpi) を示す値です。これは、実際に dpi に乗算して dphi (100) を算出する変換係数です。

関連項目:
定数フィールド値

DPCM

public static final int DPCM
1 センチあたりドット数 (dpcm) を示す値です。これは、実際に dpcm に乗算して dphi (254) を算出する変換係数です。

関連項目:
定数フィールド値
コンストラクタの詳細

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 解像度属性より小さいか、または等しい場合は true、そうでない場合は false
例外:
NullPointerException - 未確認の例外。other が null の場合、スローされる

equals

public boolean equals(Object object)
この解像度属性がオブジェクトに渡された属性と等しいかどうかを返します。同等であるためには、次の条件のすべてが true でなければなりません。
  1. object が null ではない
  2. object が ResolutionSyntax クラスのインスタンスである
  3. この属性の前後送り方向の解像度が object の前後送り方向の解像度に等しい
  4. この属性の送り方向の解像度が object の送り方向の解像度に等しい

オーバーライド:
クラス Object 内の equals
パラメータ:
object - 比較対象のオブジェクト
戻り値:
object がこの解像度属性と等しい場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
この解像度属性のハッシュコード値を返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
この解像度属性の文字列バージョンを返します。文字列は、"CxF dphi" の形式をとります。ここで、C は前後送り方向の解像度、F は送り方向の解像度です。値は内部単位 dphi で報告されます。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

getCrossFeedResolutionDphi

protected int getCrossFeedResolutionDphi()
単位 dphi で、この解像度属性の前後送り方向の解像度を返します (サブクラスで使用)。

戻り値:
前後送り方向の解像度

getFeedResolutionDphi

protected int getFeedResolutionDphi()
単位 dphi で、この解像度属性の送り方向の解像度を返します (サブクラスで使用)。

戻り値:
送り方向の解像度

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.