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

java.lang.Object
  |
  +--com.infoteria.asteria.flowbuilder2.stream.field.FieldDefinition
        |
        +--com.infoteria.asteria.flowbuilder2.stream.field.NestedFieldDefinition
              |
              +--com.infoteria.asteria.flowbuilder2.stream.field.JSONFieldDefinition
All Implemented Interfaces:
java.lang.Cloneable, com.infoteria.asteria.flowbuilder2.mapper.MappingHolder

public class JSONFieldDefinition
extends NestedFieldDefinition

JSON型のフィールド定義です。
このクラスの保持するFieldクラスはFieldJSONでなければなりません。


Field Summary
static java.lang.String ROOT_NAME
           
 
Fields inherited from class com.infoteria.asteria.flowbuilder2.stream.field.NestedFieldDefinition
A_EXPANDED, A_LABEL, A_NAME, A_REPEAT, A_TYPE
 
Fields inherited from class com.infoteria.asteria.flowbuilder2.stream.field.FieldDefinition
_list, TYPE_FIXED, TYPE_JSON, TYPE_RECORD, TYPE_SINGLE, TYPE_XML
 
Constructor Summary
JSONFieldDefinition()
          JSONField定義を作成します。
JSONFieldDefinition(FieldType[] acceptTypes)
          使用可能なデータ型を指定してJSONField定義を作成します。
 
Method Summary
 void addDefaultRootField()
          Add default root field, if it does not yet exist.
 void assign(org.w3c.dom.Element el)
          JSONFieldDefinitionの内容を引数の要素から読み出します。
 void assignTo(org.w3c.dom.Element el)
          JSONFieldDefinitionの内容を引数の要素に書き出します。
 javax.swing.undo.UndoableEdit branchDown(Field f)
           
 javax.swing.undo.UndoableEdit branchUp(Field f)
           
 Field createField(java.lang.String name, FieldType type)
          Fieldを作成します。
作成されるFieldはFieldJSONクラスです。
 FieldJSON getFieldJSON(int idx)
          idx番目のFieldを返します。
 java.lang.String getType()
          FieldDefinition種別を返します。
TYPE_JSONが返ります。
protected  boolean nameAlreadyExists(java.lang.String name, int idx, int depth, boolean exclude)
           
 javax.swing.undo.UndoableEdit remove(Field f)
          フィールドを削除します。
 javax.swing.undo.UndoableEdit remove(int start, int end)
          指定の範囲のフィールドを削除します。
 void validate()
          フィールド定義が正しいかどうかをチェックします。
不正な場合はExceptionが発生します。
 
Methods inherited from class com.infoteria.asteria.flowbuilder2.stream.field.NestedFieldDefinition
canBranchDown, canBranchUp, canMoveDown, canMoveUp, getNestedField, getParent, hasChild, moveDown, moveUp
 
Methods inherited from class com.infoteria.asteria.flowbuilder2.stream.field.FieldDefinition
add, addFieldDefinitionListener, addReadOnlyColumn, beginUpdate, clone, containsName, createField, endUpdate, equals, getAcceptTypes, getField, getField, getFieldById, getFieldDefinitionListeners, getName, getReadOnlyColumns, hasReadOnlyColumn, importFieldDefinition, importFieldDefinition, importFieldDefinition, indexOf, indexOfName, insert, isAcceptType, isNameLock, isReadOnlyColumn, isSerializeFieldId, remove, removeFieldDefinitionListener, removeReadOnlyColumn, setAcceptTypes, setName, setSerializeFieldId, size, validName
 
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

ROOT_NAME

public static final java.lang.String ROOT_NAME
Constructor Detail

JSONFieldDefinition

public JSONFieldDefinition()
JSONField定義を作成します。

JSONFieldDefinition

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

getType

public java.lang.String getType()
FieldDefinition種別を返します。
TYPE_JSONが返ります。
Overrides:
getType in class FieldDefinition

getFieldJSON

public FieldJSON getFieldJSON(int idx)
idx番目のFieldを返します。

createField

public Field createField(java.lang.String name,
                         FieldType type)
Fieldを作成します。
作成されるFieldはFieldJSONクラスです。
Overrides:
createField in class FieldDefinition

addDefaultRootField

public void addDefaultRootField()
Add default root field, if it does not yet exist.

remove

public javax.swing.undo.UndoableEdit remove(Field f)
フィールドを削除します。
Overrides:
remove in class FieldDefinition

remove

public javax.swing.undo.UndoableEdit remove(int start,
                                            int end)
指定の範囲のフィールドを削除します。
Overrides:
remove in class FieldDefinition

branchUp

public javax.swing.undo.UndoableEdit branchUp(Field f)
Description copied from class: NestedFieldDefinition
Fieldの深さを1段階上に移動します。
Overrides:
branchUp in class NestedFieldDefinition

branchDown

public javax.swing.undo.UndoableEdit branchDown(Field f)
Description copied from class: NestedFieldDefinition
Fieldの深さを1段階下に移動します。
Overrides:
branchDown in class NestedFieldDefinition

validate

public void validate()
              throws java.lang.Exception
フィールド定義が正しいかどうかをチェックします。
不正な場合はExceptionが発生します。
Overrides:
validate in class FieldDefinition

assignTo

public void assignTo(org.w3c.dom.Element el)
JSONFieldDefinitionの内容を引数の要素に書き出します。
Overrides:
assignTo in class FieldDefinition

assign

public void assign(org.w3c.dom.Element el)
JSONFieldDefinitionの内容を引数の要素から読み出します。
Overrides:
assign in class FieldDefinition

nameAlreadyExists

protected boolean nameAlreadyExists(java.lang.String name,
                                    int idx,
                                    int depth,
                                    boolean exclude)