Class FieldDefinition

java.lang.Object
com.infoteria.asteria.flowbuilder2.stream.field.FieldDefinition
All Implemented Interfaces:
com.infoteria.asteria.flowbuilder2.mapper.MappingHolder, Cloneable
Direct Known Subclasses:
FixedLengthFieldDefinition, NestedFieldDefinition, SingleFieldDefinition

public class FieldDefinition extends Object implements Cloneable, com.infoteria.asteria.flowbuilder2.mapper.MappingHolder
フィールド定義です。
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Vector<Field>
     
    static final String
    フィールド定義の種別。FixedLength型
    static final String
     
    static final String
    フィールド定義の種別。レコード型(Record, CSV, ParameterList)
    static final String
    フィールド定義の種別。単一フィールド(Binary, Text, HTML, MIME)
    static final String
    フィールド定義の種別。XML型
  • Constructor Summary

    Constructors
    Constructor
    Description
    FieldDefinitionを作成します。
    FieldDefinition(FieldType[] acceptTypes)
    使用可能なデータ型を指定してFieldDefinitionを作成します。
  • Method Summary

    Modifier and Type
    Method
    Description
    フィールドを追加します。
    void
    addFieldDefinitionListener(com.infoteria.asteria.flowbuilder2.event.FieldDefinitionListener l)
    FieldDefinitionの変更を監視するListenerを追加します。
    void
    addReadOnlyColumn(com.infoteria.asteria.flowbuilder2.constants.DefinitionConstants.FIELD_DEFINITION_READONLY_VALUES columnName)
    指定された列を編集不可に設定します。
    void
    FieldDefinitionの内容を引数の要素から読み出します。
    void
    FeildDefinitonの内容を引数の要素に書き出します。
    void
    編集操作の開始をマークします。
    複数の変数操作を連続で行う場合に最初に実行しておくと編集操作が一連イベントとなりListenerにまとめて通知されます。
    beginUpdateを実行した場合は編集操作終了後に必ずendUpdateを実行しなければなりません。
    boolean
    フィールド順序が下に移動可能かどうかを返します。
    boolean
    フィールド順序が上に移動可能かどうかを返します。
    FeildDefinitonを複製します。
    boolean
    指定の名前のフィールドがあるかどうかを返します。
    FeildDefinitonのクラスに対応したフィールドを作成します。
    FeildDefinitonのクラスに対応したフィールドを作成します。
    編集操作の終了をマークします。
    引数undoにnull以外を指定した場合はイベントリスナー内で行われた編集操作と引数のundoが一つのUndoableEditにまとめられます。
    boolean
     
    設定可能なフィールドのデータ型を返します。
    getField(int idx)
    idx番目のフィールドを返します。
    指定の名前のフィールドを返します。
    指定のIDのフィールドを返します。
    com.infoteria.asteria.flowbuilder2.event.FieldDefinitionListener[]
    FieldDefinitionの変更を監視するListenerの配列を返します。
     
    フィールド定義の名前を返します。
    編集不可の列の列名を配列で返します。
    フィールド定義の種別を返します。
    boolean
    編集不可の列がある場合にtrueを返します。
    importFieldDefinition(fd, false, null)と同じです。
    importFieldDefinition(FieldDefinition fd, boolean keepFieldId)
    importFieldDefinition(fd, keepFieldId, null)と同じです。
    importFieldDefinition(FieldDefinition fd, boolean keepFieldId, String oldName)
    フィールド定義をインポートします。
    int
    指定のフィールドの位置を返します。
    int
    指定の名前を持つフィールドの位置を返します。
    insert(Field f, int idx)
    フィールドを挿入します。
    boolean
    指定のフィールドデータ型が設定可能かどうかを返します。
    boolean
    Name列が編集不可の場合にtrueを返します。
    boolean
    指定された列が編集可能かどうかを返します。
    boolean
    assignToメソッドでの書き出し時にフィールドIDを出力するかどうかを返します。
    フィールド順序を下に移動します。
    フィールド順序を上に移動します。
    remove(int idx)
    フィールドを削除します。
    remove(int start, int end)
    指定の範囲のフィールドを削除します。
    フィールドを削除します。
    void
    removeFieldDefinitionListener(com.infoteria.asteria.flowbuilder2.event.FieldDefinitionListener l)
    FieldDefinitionの変更を監視するListenerを削除します。
    void
    指定された列を編集可能に設定します。
    void
    設定可能なフィールドのデータ型を設定します。
    void
    フィールド定義の名前を設定します。
    void
    assignToメソッドでの書き出し時にフィールドIDを出力するかどうかを設定します。
    int
    フィールド数を返します。
    void
    フィールド定義が正しいかどうかをチェックします。
    不正がある場合はExceptionとなります。
    boolean
    フィールド名が正当かどうかを返します。

    Methods inherited from class java.lang.Object

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

  • Constructor Details

    • FieldDefinition

      public FieldDefinition()
      FieldDefinitionを作成します。
    • FieldDefinition

      public FieldDefinition(FieldType[] acceptTypes)
      使用可能なデータ型を指定してFieldDefinitionを作成します。
  • Method Details

    • getType

      public String getType()
      フィールド定義の種別を返します。
    • getName

      public String getName()
      フィールド定義の名前を返します。
      Specified by:
      getName in interface com.infoteria.asteria.flowbuilder2.mapper.MappingHolder
    • setName

      public void setName(String name)
      フィールド定義の名前を設定します。
    • getReadOnlyColumns

      public String[] getReadOnlyColumns()
      編集不可の列の列名を配列で返します。
    • isReadOnlyColumn

      public boolean isReadOnlyColumn(String columnName)
      指定された列が編集可能かどうかを返します。
    • addReadOnlyColumn

      public void addReadOnlyColumn(com.infoteria.asteria.flowbuilder2.constants.DefinitionConstants.FIELD_DEFINITION_READONLY_VALUES columnName)
      指定された列を編集不可に設定します。
    • removeReadOnlyColumn

      public void removeReadOnlyColumn(String columnName)
      指定された列を編集可能に設定します。
    • isNameLock

      public boolean isNameLock()
      Name列が編集不可の場合にtrueを返します。
    • hasReadOnlyColumn

      public boolean hasReadOnlyColumn()
      編集不可の列がある場合にtrueを返します。
    • getAcceptTypes

      public FieldType[] getAcceptTypes()
      設定可能なフィールドのデータ型を返します。
    • setAcceptTypes

      public void setAcceptTypes(FieldType[] types)
      設定可能なフィールドのデータ型を設定します。
    • isAcceptType

      public boolean isAcceptType(FieldType ft)
      指定のフィールドデータ型が設定可能かどうかを返します。
    • add

      public UndoableEdit add(Field f)
      フィールドを追加します。
    • insert

      public UndoableEdit insert(Field f, int idx)
      フィールドを挿入します。
    • remove

      public UndoableEdit remove(Field f)
      フィールドを削除します。
    • remove

      public UndoableEdit remove(int idx)
      フィールドを削除します。
    • remove

      public UndoableEdit remove(int start, int end)
      指定の範囲のフィールドを削除します。
    • canMoveUp

      public boolean canMoveUp(Field f)
      フィールド順序が上に移動可能かどうかを返します。
    • moveUp

      public UndoableEdit moveUp(Field f)
      フィールド順序を上に移動します。
    • canMoveDown

      public boolean canMoveDown(Field f)
      フィールド順序が下に移動可能かどうかを返します。
    • moveDown

      public UndoableEdit moveDown(Field f)
      フィールド順序を下に移動します。
    • size

      public int size()
      フィールド数を返します。
    • getField

      public Field getField(int idx)
      idx番目のフィールドを返します。
    • getFieldList

      public List<Field> getFieldList()
    • getField

      public Field getField(String name)
      指定の名前のフィールドを返します。
    • getFieldById

      public Field getFieldById(String id)
      指定のIDのフィールドを返します。
    • indexOf

      public int indexOf(Field f)
      指定のフィールドの位置を返します。
    • indexOfName

      public int indexOfName(String name)
      指定の名前を持つフィールドの位置を返します。
    • containsName

      public boolean containsName(String name)
      指定の名前のフィールドがあるかどうかを返します。
    • createField

      public Field createField(String name)
      FeildDefinitonのクラスに対応したフィールドを作成します。
    • createField

      public Field createField(String name, FieldType type)
      FeildDefinitonのクラスに対応したフィールドを作成します。
    • validName

      public boolean validName(String name)
      フィールド名が正当かどうかを返します。
    • validate

      public void validate() throws Exception
      フィールド定義が正しいかどうかをチェックします。
      不正がある場合はExceptionとなります。
      Throws:
      Exception
    • clone

      public Object clone()
      FeildDefinitonを複製します。
      Overrides:
      clone in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • assignTo

      public void assignTo(Element el)
      FeildDefinitonの内容を引数の要素に書き出します。
    • assign

      public void assign(Element el)
      FieldDefinitionの内容を引数の要素から読み出します。
    • addFieldDefinitionListener

      public void addFieldDefinitionListener(com.infoteria.asteria.flowbuilder2.event.FieldDefinitionListener l)
      FieldDefinitionの変更を監視するListenerを追加します。
    • removeFieldDefinitionListener

      public void removeFieldDefinitionListener(com.infoteria.asteria.flowbuilder2.event.FieldDefinitionListener l)
      FieldDefinitionの変更を監視するListenerを削除します。
    • getFieldDefinitionListeners

      public com.infoteria.asteria.flowbuilder2.event.FieldDefinitionListener[] getFieldDefinitionListeners()
      FieldDefinitionの変更を監視するListenerの配列を返します。
    • beginUpdate

      public void beginUpdate()
      編集操作の開始をマークします。
      複数の変数操作を連続で行う場合に最初に実行しておくと編集操作が一連イベントとなりListenerにまとめて通知されます。
      beginUpdateを実行した場合は編集操作終了後に必ずendUpdateを実行しなければなりません。
    • endUpdate

      public UndoableEdit endUpdate(UndoableEdit undo)
      編集操作の終了をマークします。
      引数undoにnull以外を指定した場合はイベントリスナー内で行われた編集操作と引数のundoが一つのUndoableEditにまとめられます。
      Parameters:
      undo - イベント内で発生した編集操作とまとめるundo
      Returns:
      イベント内で発生した編集操作のUndoableEdit。イベント内で編集操作が行われていない場合はnull
    • isSerializeFieldId

      public boolean isSerializeFieldId()
      assignToメソッドでの書き出し時にフィールドIDを出力するかどうかを返します。
    • setSerializeFieldId

      public void setSerializeFieldId(boolean b)
      assignToメソッドでの書き出し時にフィールドIDを出力するかどうかを設定します。
    • importFieldDefinition

      public UndoableEdit importFieldDefinition(FieldDefinition fd, boolean keepFieldId, String oldName)
      フィールド定義をインポートします。
      Parameters:
      keepFieldId - フィールドのIDを維持します。
      oldName - フィールド定義の古い名前。未使用ですのでnullを渡してください。
    • importFieldDefinition

      public UndoableEdit importFieldDefinition(FieldDefinition fd, boolean keepFieldId)
      importFieldDefinition(fd, keepFieldId, null)と同じです。
    • importFieldDefinition

      public UndoableEdit importFieldDefinition(FieldDefinition fd)
      importFieldDefinition(fd, false, null)と同じです。