Class CobolFieldAttribute

java.lang.Object
jp.osscons.opensourcecobol.libcobj.data.CobolFieldAttribute

public class CobolFieldAttribute extends Object
COBOL変数の属性情報を保持するクラス.
変数の種別(数値・英数字・日本語など)・桁数・スケール・各種フラグ・PICTURE句の文字列を保持する. 種別とフラグはCOB_TYPE_*・COB_FLAG_*定数で表現される.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    2進数値のバイト順を入れ替える(バイトスワップする)ことを表すフラグ.
    static final int
    値が0のとき空白で表示する(BLANK WHEN ZERO)ことを表すフラグ.
    static final int
    符号を持つ数値であることを表すフラグ.
    static final int
    ポインタ項目であることを表すフラグ.
    static final int
    右寄せ(JUSTIFIED RIGHT)であることを表すフラグ.
    static final int
    NATIONAL VARYING field (PIC N VARYING).
    static final int
    フラグが何も指定されていないことを表す値.
    static final int
    2進数値を実際のバイト幅(BINARY-C-LONG等)で扱うことを表すフラグ.
    static final int
    符号を先頭桁に保持する(SIGN LEADING)ことを表すフラグ.
    static final int
    符号を独立した桁として保持する(SIGN SEPARATE)ことを表すフラグ.
    static final int
    VARYING field (variable-length string with length header).
    static final int
    英数字項目(PIC X)を表す変数種別.
    static final int
    ALL指定の英数字項目を表す変数種別.
    static final int
    英数字編集項目を表す変数種別.
    static final int
    真理値項目を表す変数種別.
    static final int
    集団項目を表す変数種別.
    static final int
    日本語項目(PIC N)を表す変数種別.
    static final int
    ALL指定の日本語項目を表す変数種別.
    static final int
    日本語編集項目を表す変数種別.
    static final int
    数値項目を表す変数種別(数値種別共通のビットを含む).
    static final int
    2進数値項目(USAGE COMP/BINARY)を表す変数種別.
    static final int
    表示用数値項目(USAGE DISPLAY)を表す変数種別.
    static final int
    倍精度浮動小数点数値項目(USAGE COMP-2)を表す変数種別.
    static final int
    編集数値項目を表す変数種別.
    static final int
    単精度浮動小数点数値項目(USAGE COMP-1)を表す変数種別.
    static final int
    パック10進数値項目(USAGE COMP-3)を表す変数種別.
    static final int
    不明な種別を表す変数種別.
  • Constructor Summary

    Constructors
    Constructor
    Description
    CobolFieldAttribute(int type, int digits, int scale, int flags, String pic)
    コンストラクタ
    コピーコンストラクタ.別の属性オブジェクトの各値をコピーして新しいオブジェクトを生成する.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    桁数を取得する
    int
    このオブジェクトのフラグを設定する
    このオブジェクトのPICTURE文字列を取得する
    int
    このオブジェクトのスケールを取得する
    int
    変数種別を取得する
    boolean
    2進数値のバイト順を入れ替える(バイトスワップする)フラグが立っているかどうかを判定する.
    boolean
    値が0のとき空白で表示する(BLANK WHEN ZERO)フラグが立っているかどうかを判定する.
    boolean
    符号を持つ数値であるフラグが立っているかどうかを判定する.
    boolean
    ポインタ項目であるフラグが立っているかどうかを判定する.
    boolean
    右寄せ(JUSTIFIED RIGHT)フラグが立っているかどうかを判定する.
    boolean
    2進数値を実際のバイト幅で扱う(REAL BINARY)フラグが立っているかどうかを判定する.
    boolean
    符号を先頭桁に保持する(SIGN LEADING)フラグが立っているかどうかを判定する.
    boolean
    符号を独立した桁として保持する(SIGN SEPARATE)フラグが立っているかどうかを判定する.
    boolean
    Check if the VARYING flag is set.
    boolean
    変数種別が英数字項目(PIC X)かどうかを判定する.
    boolean
    変数種別がALL指定の英数字項目かどうかを判定する.
    boolean
    変数種別が英数字編集項目かどうかを判定する.
    boolean
    変数種別が真理値項目かどうかを判定する.
    boolean
    変数種別が集団項目かどうかを判定する.
    boolean
    変数種別が日本語項目(PIC N)かどうかを判定する.
    boolean
    変数種別がALL指定の日本語項目かどうかを判定する.
    boolean
    変数種別が日本語編集項目かどうかを判定する.
    boolean
    変数種別が数値項目かどうかを判定する.
    boolean
    変数種別が2進数値項目(USAGE COMP/BINARY)かどうかを判定する.
    boolean
    変数種別が表示用数値項目(USAGE DISPLAY)かどうかを判定する.
    boolean
    変数種別が倍精度浮動小数点数値項目(USAGE COMP-2)かどうかを判定する.
    boolean
    変数種別が編集数値項目かどうかを判定する.
    boolean
    変数種別が単精度浮動小数点数値項目(USAGE COMP-1)かどうかを判定する.
    boolean
    変数種別がパック10進数値項目(USAGE COMP-3)かどうかを判定する.
    boolean
    変数種別が不明な種別かどうかを判定する.
    void
    setDigits(int digits)
    桁数を設定する
    void
    setFlags(int flags)
    このオブジェクトのフラグを設定する
    void
    このオブジェクトのPICTURE文字列を設定する
    void
    setScale(int scale)
    このオブジェクトのスケールを設定する
    void
    setType(int type)
    変数種別を取得する

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • COB_TYPE_UNKNOWN

      public static final int COB_TYPE_UNKNOWN
      不明な種別を表す変数種別.
      See Also:
    • COB_TYPE_GROUP

      public static final int COB_TYPE_GROUP
      集団項目を表す変数種別.
      See Also:
    • COB_TYPE_BOOLEAN

      public static final int COB_TYPE_BOOLEAN
      真理値項目を表す変数種別.
      See Also:
    • COB_TYPE_NUMERIC

      public static final int COB_TYPE_NUMERIC
      数値項目を表す変数種別(数値種別共通のビットを含む).
      See Also:
    • COB_TYPE_NUMERIC_DISPLAY

      public static final int COB_TYPE_NUMERIC_DISPLAY
      表示用数値項目(USAGE DISPLAY)を表す変数種別.
      See Also:
    • COB_TYPE_NUMERIC_BINARY

      public static final int COB_TYPE_NUMERIC_BINARY
      2進数値項目(USAGE COMP/BINARY)を表す変数種別.
      See Also:
    • COB_TYPE_NUMERIC_PACKED

      public static final int COB_TYPE_NUMERIC_PACKED
      パック10進数値項目(USAGE COMP-3)を表す変数種別.
      See Also:
    • COB_TYPE_NUMERIC_FLOAT

      public static final int COB_TYPE_NUMERIC_FLOAT
      単精度浮動小数点数値項目(USAGE COMP-1)を表す変数種別.
      See Also:
    • COB_TYPE_NUMERIC_DOUBLE

      public static final int COB_TYPE_NUMERIC_DOUBLE
      倍精度浮動小数点数値項目(USAGE COMP-2)を表す変数種別.
      See Also:
    • COB_TYPE_NUMERIC_EDITED

      public static final int COB_TYPE_NUMERIC_EDITED
      編集数値項目を表す変数種別.
      See Also:
    • COB_TYPE_ALPHANUMERIC

      public static final int COB_TYPE_ALPHANUMERIC
      英数字項目(PIC X)を表す変数種別.
      See Also:
    • COB_TYPE_ALPHANUMERIC_ALL

      public static final int COB_TYPE_ALPHANUMERIC_ALL
      ALL指定の英数字項目を表す変数種別.
      See Also:
    • COB_TYPE_ALPHANUMERIC_EDITED

      public static final int COB_TYPE_ALPHANUMERIC_EDITED
      英数字編集項目を表す変数種別.
      See Also:
    • COB_TYPE_NATIONAL

      public static final int COB_TYPE_NATIONAL
      日本語項目(PIC N)を表す変数種別.
      See Also:
    • COB_TYPE_NATIONAL_EDITED

      public static final int COB_TYPE_NATIONAL_EDITED
      日本語編集項目を表す変数種別.
      See Also:
    • COB_TYPE_NATIONAL_ALL

      public static final int COB_TYPE_NATIONAL_ALL
      ALL指定の日本語項目を表す変数種別.
      See Also:
    • COB_FLAG_NOT_SPECIFIED

      public static final int COB_FLAG_NOT_SPECIFIED
      フラグが何も指定されていないことを表す値.
      See Also:
    • COB_FLAG_HAVE_SIGN

      public static final int COB_FLAG_HAVE_SIGN
      符号を持つ数値であることを表すフラグ.
      See Also:
    • COB_FLAG_SIGN_SEPARATE

      public static final int COB_FLAG_SIGN_SEPARATE
      符号を独立した桁として保持する(SIGN SEPARATE)ことを表すフラグ.
      See Also:
    • COB_FLAG_SIGN_LEADING

      public static final int COB_FLAG_SIGN_LEADING
      符号を先頭桁に保持する(SIGN LEADING)ことを表すフラグ.
      See Also:
    • COB_FLAG_BLANK_ZERO

      public static final int COB_FLAG_BLANK_ZERO
      値が0のとき空白で表示する(BLANK WHEN ZERO)ことを表すフラグ.
      See Also:
    • COB_FLAG_JUSTIFIED

      public static final int COB_FLAG_JUSTIFIED
      右寄せ(JUSTIFIED RIGHT)であることを表すフラグ.
      See Also:
    • COB_FLAG_BINARY_SWAP

      public static final int COB_FLAG_BINARY_SWAP
      2進数値のバイト順を入れ替える(バイトスワップする)ことを表すフラグ.
      See Also:
    • COB_FLAG_REAL_BINARY

      public static final int COB_FLAG_REAL_BINARY
      2進数値を実際のバイト幅(BINARY-C-LONG等)で扱うことを表すフラグ.
      See Also:
    • COB_FLAG_IS_POINTER

      public static final int COB_FLAG_IS_POINTER
      ポインタ項目であることを表すフラグ.
      See Also:
    • COB_FLAG_VARYING

      public static final int COB_FLAG_VARYING
      VARYING field (variable-length string with length header).
      See Also:
    • COB_FLAG_NATIONAL_VARYING

      public static final int COB_FLAG_NATIONAL_VARYING
      NATIONAL VARYING field (PIC N VARYING).
      See Also:
  • Constructor Details

    • CobolFieldAttribute

      public CobolFieldAttribute(int type, int digits, int scale, int flags, String pic)
      コンストラクタ
      Parameters:
      type - フィールドの種別
      digits - 数値型のとき,桁数を表す
      scale - 数値型の時,スケールを表す
      flags - 各種フラグ
      pic - PIC文字列
    • CobolFieldAttribute

      public CobolFieldAttribute(CobolFieldAttribute other)
      コピーコンストラクタ.別の属性オブジェクトの各値をコピーして新しいオブジェクトを生成する.
      Parameters:
      other - コピー元の属性オブジェクト
  • Method Details

    • getType

      public int getType()
      変数種別を取得する
      Returns:
      このオブジェクトの変数種別
    • setType

      public void setType(int type)
      変数種別を取得する
      Parameters:
      type - このオブジェクトに設定する変数種別
    • getDigits

      public int getDigits()
      桁数を取得する
      Returns:
      このオブジェクトの桁数
    • setDigits

      public void setDigits(int digits)
      桁数を設定する
      Parameters:
      digits - このオブジェクトに設定する桁数
    • getScale

      public int getScale()
      このオブジェクトのスケールを取得する
      Returns:
      このオブジェクトのスケール
    • setScale

      public void setScale(int scale)
      このオブジェクトのスケールを設定する
      Parameters:
      scale - このオブジェクトに設定するスケール
    • getFlags

      public int getFlags()
      このオブジェクトのフラグを設定する
      Returns:
      このオブジェクトのフラグ
    • setFlags

      public void setFlags(int flags)
      このオブジェクトのフラグを設定する
      Parameters:
      flags - このオブジェクトに設定するフラグ
    • getPic

      public String getPic()
      このオブジェクトのPICTURE文字列を取得する
      Returns:
      このオブジェクトのPICTURE文字列
    • setPic

      public void setPic(String pic)
      このオブジェクトのPICTURE文字列を設定する
      Parameters:
      pic - このオブジェクトに設定するPICTURE文字列
    • isTypeUnknown

      public boolean isTypeUnknown()
      変数種別が不明な種別かどうかを判定する.
      Returns:
      不明な種別であればtrue
    • isTypeGroup

      public boolean isTypeGroup()
      変数種別が集団項目かどうかを判定する.
      Returns:
      集団項目であればtrue
    • isTypeBoolean

      public boolean isTypeBoolean()
      変数種別が真理値項目かどうかを判定する.
      Returns:
      真理値項目であればtrue
    • isTypeNumeric

      public boolean isTypeNumeric()
      変数種別が数値項目かどうかを判定する.
      Returns:
      数値項目であればtrue
    • isTypeNumericDisplay

      public boolean isTypeNumericDisplay()
      変数種別が表示用数値項目(USAGE DISPLAY)かどうかを判定する.
      Returns:
      表示用数値項目であればtrue
    • isTypeNumericBinary

      public boolean isTypeNumericBinary()
      変数種別が2進数値項目(USAGE COMP/BINARY)かどうかを判定する.
      Returns:
      2進数値項目であればtrue
    • isTypeNumericPacked

      public boolean isTypeNumericPacked()
      変数種別がパック10進数値項目(USAGE COMP-3)かどうかを判定する.
      Returns:
      パック10進数値項目であればtrue
    • isTypeNumericFloat

      public boolean isTypeNumericFloat()
      変数種別が単精度浮動小数点数値項目(USAGE COMP-1)かどうかを判定する.
      Returns:
      単精度浮動小数点数値項目であればtrue
    • isTypeNumericDouble

      public boolean isTypeNumericDouble()
      変数種別が倍精度浮動小数点数値項目(USAGE COMP-2)かどうかを判定する.
      Returns:
      倍精度浮動小数点数値項目であればtrue
    • isTypeNumericEdited

      public boolean isTypeNumericEdited()
      変数種別が編集数値項目かどうかを判定する.
      Returns:
      編集数値項目であればtrue
    • isTypeAlphanum

      public boolean isTypeAlphanum()
      変数種別が英数字項目(PIC X)かどうかを判定する.
      Returns:
      英数字項目であればtrue
    • isTypeAlphanumAll

      public boolean isTypeAlphanumAll()
      変数種別がALL指定の英数字項目かどうかを判定する.
      Returns:
      ALL指定の英数字項目であればtrue
    • isTypeAlphanumEdited

      public boolean isTypeAlphanumEdited()
      変数種別が英数字編集項目かどうかを判定する.
      Returns:
      英数字編集項目であればtrue
    • isTypeNational

      public boolean isTypeNational()
      変数種別が日本語項目(PIC N)かどうかを判定する.
      Returns:
      日本語項目であればtrue
    • isTypeNationalEdited

      public boolean isTypeNationalEdited()
      変数種別が日本語編集項目かどうかを判定する.
      Returns:
      日本語編集項目であればtrue
    • isTypeNationalAll

      public boolean isTypeNationalAll()
      変数種別がALL指定の日本語項目かどうかを判定する.
      Returns:
      ALL指定の日本語項目であればtrue
    • isFlagHaveSign

      public boolean isFlagHaveSign()
      符号を持つ数値であるフラグが立っているかどうかを判定する.
      Returns:
      符号を持つ数値であればtrue
    • isFlagSignSeparate

      public boolean isFlagSignSeparate()
      符号を独立した桁として保持する(SIGN SEPARATE)フラグが立っているかどうかを判定する.
      Returns:
      SIGN SEPARATEであればtrue
    • isFlagSignLeading

      public boolean isFlagSignLeading()
      符号を先頭桁に保持する(SIGN LEADING)フラグが立っているかどうかを判定する.
      Returns:
      SIGN LEADINGであればtrue
    • isFlagBlankZero

      public boolean isFlagBlankZero()
      値が0のとき空白で表示する(BLANK WHEN ZERO)フラグが立っているかどうかを判定する.
      Returns:
      BLANK WHEN ZEROであればtrue
    • isFlagJustified

      public boolean isFlagJustified()
      右寄せ(JUSTIFIED RIGHT)フラグが立っているかどうかを判定する.
      Returns:
      右寄せであればtrue
    • isFlagBinarySwap

      public boolean isFlagBinarySwap()
      2進数値のバイト順を入れ替える(バイトスワップする)フラグが立っているかどうかを判定する.
      Returns:
      バイトスワップするのであればtrue
    • isFlagRealBinary

      public boolean isFlagRealBinary()
      2進数値を実際のバイト幅で扱う(REAL BINARY)フラグが立っているかどうかを判定する.
      Returns:
      REAL BINARYであればtrue
    • isFlagIsPointer

      public boolean isFlagIsPointer()
      ポインタ項目であるフラグが立っているかどうかを判定する.
      Returns:
      ポインタ項目であればtrue
    • isFlagVarying

      public boolean isFlagVarying()
      Check if the VARYING flag is set.
      Returns:
      true if the field is a VARYING variable-length string