モジュール java.desktop
パッケージ 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 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)
      指定された単位で解像度属性の文字列バージョンを返します。
    • フィールドの詳細

      • 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 - 単位変換係数。DPIDPCMなど。
        例外:
        IllegalArgumentException - 非チェック例外。crossFeedResolution < 1またはfeedResolution < 1またはunits < 1の場合にスローされる。
    • メソッドの詳細

      • getResolution

        public int[] getResolution​(int units)
        指定された単位で解像度属性の値を返します。 値はもっとも近い整数値に四捨五入されます。
        パラメータ:
        units - 単位変換係数。DPIDPCMなど。
        戻り値:
        インデックス0にある前後送り方向の解像度、およびインデックス1にある送り方向の解像度を持つ2要素の配列
        例外:
        IllegalArgumentException - 非チェック例外。units < 1の場合にスローされる。
      • getCrossFeedResolution

        public int getCrossFeedResolution​(int units)
        指定された単位で解像度属性の前後送り方向の解像度を返します。 値はもっとも近い整数値に四捨五入されます。
        パラメータ:
        units - 単位変換係数。DPIDPCMなど。
        戻り値:
        前後送り方向の解像度
        例外:
        IllegalArgumentException - 非チェック例外。units < 1の場合にスローされる。
      • getFeedResolution

        public int getFeedResolution​(int units)
        指定された単位で解像度属性の送り方向の解像度を返します。 値はもっとも近い整数値に四捨五入されます。
        パラメータ:
        units - 単位変換係数。DPIDPCMなど。
        戻り値:
        送り方向の解像度
        例外:
        IllegalArgumentException - 非チェック例外。units < 1の場合にスローされる。
      • toString

        public String toString​(int units,
                               String unitsName)
        指定された単位で解像度属性の文字列バージョンを返します。 文字列は、"CxF U"の形式をとります。ここで、Cは前後送り方向の解像度、Fは送り方向の解像度、Uは単位名です。 値はもっとも近い整数値に四捨五入されます。
        パラメータ:
        units - 単位変換係数。DPIDPCMなど。
        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の場合に同等とみなされます。
        1. objectがnullではない。
        2. objectがResolutionSyntaxクラスのインスタンスである。
        3. この属性の前後送り方向の解像度がobjectの前後送り方向の解像度に等しい。
        4. この属性の送り方向の解像度がobjectの送り方向の解像度に等しい。
        オーバーライド:
        equals、クラス: Object
        パラメータ:
        object - 比較対象のオブジェクト。
        戻り値:
        objectがこの解像度属性と等しい場合はtrue、そうでない場合はfalse。
        関連項目:
        Object.hashCode(), HashMap
      • toString

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

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

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