モジュール java.desktop
パッケージ javax.print.attribute

クラスResolutionSyntax

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)で、エクスポートされる定数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 final int
    1センチあたりドット数(dpcm)を示す値です。
    static final int
    1インチあたりドット数(dpi)を示す値です。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
    指定された項目から新しい解像度属性を構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    equals(Object object)
    この解像度属性がオブジェクトに渡された属性と等しいかどうかを返します。
    int
    指定された単位で解像度属性の前後送り方向の解像度を返します。
    protected int
    単位dphiで、この解像度属性の前後送り方向の解像度を返します
    int
    getFeedResolution(int units)
    指定された単位で解像度属性の送り方向の解像度を返します。
    protected int
    単位dphiで、この解像度属性の送り方向の解像度を返します
    int[]
    getResolution(int units)
    指定された単位で解像度属性の値を返します。
    int
    この解像度属性のハッシュ・コード値を返します。
    boolean
    この解像度属性の値が指定された解像度属性の値より小さいかまたは等しいかどうかを判定します。
    この解像度属性の文字列バージョンを返します。
    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 - 単位変換係数、たとえばCODE>DPIまたはDPCM
      unitsName - ユニット名文字列、例えば"dpi"または"dpcm" nullの場合、ユニット名は結果に追加されません。
      戻り値:
      この解像度属性の文字列バージョン
      例外:
      IllegalArgumentException - units < 1の場合
    • lessThanOrEquals

      public boolean lessThanOrEquals(ResolutionSyntax other)
      この解像度属性の値が指定された解像度属性の値より小さいかまたは等しいかどうかを判定します。 次のすべての条件がtrueの場合にtrueになります。
      • この属性の前後送り方向の解像度がother属性の前後送り方向の解像度より小さいか、または等しい。
      • この属性の送り方向の解像度がother属性の送り方向の解像度より小さいか、または等しい。
      パラメータ:
      other - 比較する解像度属性
      戻り値:
      trueこの解像度属性がother解像度属性以下である場合はfalse、それ以外の場合はfalse
      例外:
      NullPointerException - othernullである場合
    • equals

      public boolean equals(Object object)
      この解像度属性がオブジェクトに渡された属性と等しいかどうかを返します。 次の条件がすべてtrueの場合に同等とみなされます。
      1. objectnullではありません。
      2. objectResolutionSyntaxクラスのインスタンスです。
      3. この属性の前後送り方向の解像度がobjectの前後送り方向の解像度に等しい。
      4. この属性の送り方向の解像度がobjectの送り方向の解像度に等しい。
      オーバーライド:
      equals、クラスObject
      パラメータ:
      object - 比較するObject
      戻り値:
      true objectがこの解像度属性に相当する場合は、false、それ以外の場合はfalse
      関連項目:
    • hashCode

      public int hashCode()
      この解像度属性のハッシュ・コード値を返します。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
    • toString

      public String toString()
      この解像度属性の文字列バージョンを返します。 文字列は、"CxF dphi"の形式をとります。ここで、Cは前後送り方向の解像度、Fは送り方向の解像度です。 値は内部単位dphiで報告されます。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このオブジェクトの文字列表現
    • getCrossFeedResolutionDphi

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

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