com.infoteria.asteria.flowbuilder2.stream.field
Class FieldDefinition

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

public class FieldDefinition
extends Object
implements Cloneable, com.infoteria.asteria.flowbuilder2.mapper.MappingHolder

フィールド定義です。


Field Summary
protected  Vector _list
           
static String TYPE_FIXED
          フィールド定義の種別。FixedLength型
static String TYPE_RECORD
          フィールド定義の種別。レコード型(Record, CSV, ParameterList)
static String TYPE_SINGLE
          フィールド定義の種別。単一フィールド(Binary, Text, HTML, MIME)
static String TYPE_XML
          フィールド定義の種別。XML型
 
Constructor Summary
FieldDefinition()
          FieldDefinitionを作成します。
FieldDefinition(FieldType[] acceptTypes)
          使用可能なデータ型を指定してFieldDefinitionを作成します。
 
Method Summary
 UndoableEdit add(Field f)
          フィールドを追加します。
 void addFieldDefinitionListener(FieldDefinitionListener l)
          FieldDefinitionの変更を監視するListenerを追加します。
 void addReadOnlyColumn(com.infoteria.asteria.flowbuilder2.constants.DefinitionConstants.FIELD_DEFINITION_READONLY_VALUES columnName)
          指定された列を編集不可に設定します。
 void assign(Element el)
          FieldDefinitionの内容を引数の要素から読み出します。
 void assignTo(Element el)
          FeildDefinitonの内容を引数の要素に書き出します。
 void beginUpdate()
          編集操作の開始をマークします。
複数の変数操作を連続で行う場合に最初に実行しておくと編集操作が一連イベントとなりListenerにまとめて通知されます。
beginUpdateを実行した場合は編集操作終了後に必ずendUpdateを実行しなければなりません。
 boolean canMoveDown(Field f)
          フィールド順序が下に移動可能かどうかを返します。
 boolean canMoveUp(Field f)
          フィールド順序が上に移動可能かどうかを返します。
 Object clone()
          FeildDefinitonを複製します。
 boolean containsName(String name)
          指定の名前のフィールドがあるかどうかを返します。
 Field createField(String name)
          FeildDefinitonのクラスに対応したフィールドを作成します。
 Field createField(String name, FieldType type)
          FeildDefinitonのクラスに対応したフィールドを作成します。
 UndoableEdit endUpdate(UndoableEdit undo)
          編集操作の終了をマークします。
引数undoにnull以外を指定した場合はイベントリスナー内で行われた編集操作と引数のundoが一つのUndoableEditにまとめられます。
 boolean equals(Object o)
           
 FieldType[] getAcceptTypes()
          設定可能なフィールドのデータ型を返します。
 Field getField(int idx)
          idx番目のフィールドを返します。
 Field getField(String name)
          指定の名前のフィールドを返します。
 Field getFieldById(String id)
          指定のIDのフィールドを返します。
 FieldDefinitionListener[] getFieldDefinitionListeners()
          FieldDefinitionの変更を監視するListenerの配列を返します。
 String getName()
          フィールド定義の名前を返します。
 String[] getReadOnlyColumns()
          編集不可の列の列名を配列で返します。
 String getType()
          フィールド定義の種別を返します。
 boolean hasReadOnlyColumn()
          編集不可の列がある場合にtrueを返します。
 UndoableEdit importFieldDefinition(FieldDefinition fd)
          importFieldDefinition(fd, false, null)と同じです。
 UndoableEdit importFieldDefinition(FieldDefinition fd, boolean keepFieldId)
          importFieldDefinition(fd, keepFieldId, null)と同じです。
 UndoableEdit importFieldDefinition(FieldDefinition fd, boolean keepFieldId, String oldName)
          フィールド定義をインポートします。
 int indexOf(Field f)
          指定のフィールドの位置を返します。
 int indexOfName(String name)
          指定の名前を持つフィールドの位置を返します。
 UndoableEdit insert(Field f, int idx)
          フィールドを挿入します。
 boolean isAcceptType(FieldType ft)
          指定のフィールドデータ型が設定可能かどうかを返します。
 boolean isNameLock()
          Name列が編集不可の場合にtrueを返します。
 boolean isReadOnlyColumn(String columnName)
          指定された列が編集可能かどうかを返します。
 boolean isSerializeFieldId()
          assignToメソッドでの書き出し時にフィールドIDを出力するかどうかを返します。
 UndoableEdit moveDown(Field f)
          フィールド順序を下に移動します。
 UndoableEdit moveUp(Field f)
          フィールド順序を上に移動します。
 UndoableEdit remove(Field f)
          フィールドを削除します。
 UndoableEdit remove(int idx)
          フィールドを削除します。
 UndoableEdit remove(int start, int end)
          指定の範囲のフィールドを削除します。
 void removeFieldDefinitionListener(FieldDefinitionListener l)
          FieldDefinitionの変更を監視するListenerを削除します。
 void removeReadOnlyColumn(String columnName)
          指定された列を編集可能に設定します。
 void setAcceptTypes(FieldType[] types)
          設定可能なフィールドのデータ型を設定します。
 void setName(String name)
          フィールド定義の名前を設定します。
 void setSerializeFieldId(boolean b)
          assignToメソッドでの書き出し時にフィールドIDを出力するかどうかを設定します。
 int size()
          フィールド数を返します。
 void validate()
          フィールド定義が正しいかどうかをチェックします。
不正がある場合はExceptionとなります。
 boolean validName(String name)
          フィールド名が正当かどうかを返します。
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.infoteria.asteria.flowbuilder2.mapper.MappingHolder
getMappingItem, getMappingItemCount
 

Field Detail

TYPE_RECORD

public static final String TYPE_RECORD
フィールド定義の種別。レコード型(Record, CSV, ParameterList)

TYPE_SINGLE

public static final String TYPE_SINGLE
フィールド定義の種別。単一フィールド(Binary, Text, HTML, MIME)

TYPE_FIXED

public static final String TYPE_FIXED
フィールド定義の種別。FixedLength型

TYPE_XML

public static final String TYPE_XML
フィールド定義の種別。XML型

_list

protected Vector _list
Constructor Detail

FieldDefinition

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

FieldDefinition

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

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番目のフィールドを返します。

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となります。

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(FieldDefinitionListener l)
FieldDefinitionの変更を監視するListenerを追加します。

removeFieldDefinitionListener

public void removeFieldDefinitionListener(FieldDefinitionListener l)
FieldDefinitionの変更を監視するListenerを削除します。

getFieldDefinitionListeners

public 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)と同じです。