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

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

public class XMLFieldDefinition
extends FieldDefinition

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


Field Summary
static String DEFAULT_NAMESPACE_PREFIX
          デフォルトネームスペース用のprefix。「#default」
static String XML_NAMESPACE
          xmlの名前空間URI。http://www.w3.org/XML/1998/namespace
static String XMLNS_NAMESPACE
          xmlnsの名前空間URI。http://www.w3.org/2000/xmlns/
 
Fields inherited from class com.infoteria.asteria.flowbuilder2.stream.field.FieldDefinition
_list, TYPE_FIXED, TYPE_RECORD, TYPE_SINGLE, TYPE_XML
 
Constructor Summary
XMLFieldDefinition()
          XMLField定義を作成します。
XMLFieldDefinition(FieldType[] acceptTypes)
          使用可能なデータ型を指定してXMLField定義を作成します。
 
Method Summary
 void addNamespace(Namespace ns)
          Namespaceを追加します。
 void addNamespace(String prefix, String uri)
          Namespaceを追加します。
addNamespace(new Namespace(prefix, uri))と同じです。
 void assign(Element el)
          XMLFieldDefinitionの内容を引数の要素から読み出します。
 void assignTo(Element el)
          XMLFieldDefinitionの内容を引数の要素に書き出します。
 UndoableEdit branchDown(Field f)
          Fieldの深さを1段階下に移動します。
 UndoableEdit branchUp(Field f)
          Fieldの深さを1段階上に移動します。
 boolean canBranchDown(Field f)
          Fieldの深さを1段階下に移動可能かどうかを返します。
 boolean canBranchUp(Field f)
          Fieldの深さを1段階上に移動可能かどうかを返します。
 boolean canMoveDown(Field f)
          Field順序が下に移動可能かどうかを返します。
 boolean canMoveUp(Field f)
          Field順序が上に移動可能かどうかを返します。
 Object clone()
          XMLFieldDefinitionの複製を作成して返します。
 boolean containsPrefix(String prefix)
          指定のprefixがNamespaceListに含まれているかどうかを返します。
 Field createField(String name, FieldType type)
          Fieldを作成します。
作成されるFieldはFieldXMLクラスです。
 boolean equals(Object o)
           
 String getDefaultNamespaceURI()
          prefixが「#default」で定義されている名前空間URIを返します。
 int getFieldIndex(FieldXML f)
          Fieldが要素であり同名の要素定義が並列に複数ある場合にそのインデックスを返します。
それ以外の場合は0を返します。
 FieldXML getFieldXML(int idx)
          idx番目のFieldを返します。
 List getNamespaceList()
          Namespace定義のListを返します。
 String getNamespaceURI(String prefix)
          prefixに対応する名前空間URIを返します。
 FieldXML getParent(FieldXML f)
          Fieldの親Fieldを返します。
 String getType()
          FieldDefinition種別を返します。
TYPE_XMLが返ります。
 boolean hasChild(FieldXML f)
          Fieldが子ノード(要素または属性)定義を持っているかどうかをチェックします。
 UndoableEdit importFieldDefinition(FieldDefinition fd, boolean keepFieldId, String oldName)
          フィールド定義をインポートします。
 UndoableEdit moveDown(Field f)
          Field順序を下に移動します。
 UndoableEdit moveUp(Field f)
          Field順序を上に移動します。
 UndoableEdit setNamespaceList(List list)
          Namespace定義のListを設定します。
 void validate()
          フィールド定義が正しいかどうかをチェックします。
不正な場合はExceptionが発生します。
 boolean validName(String name)
          nameがXMLの要素名として正しいかどうかをチェックします。
static boolean validNamespacePrefix(String prefix)
          prefixが名前空間宣言のprefixとして正しいかどうかをチェックします。
 
Methods inherited from class com.infoteria.asteria.flowbuilder2.stream.field.FieldDefinition
add, addFieldDefinitionListener, addReadOnlyColumn, beginUpdate, containsName, createField, endUpdate, getAcceptTypes, getField, getField, getFieldById, getFieldDefinitionListeners, getName, getReadOnlyColumns, hasReadOnlyColumn, importFieldDefinition, importFieldDefinition, indexOf, indexOfName, insert, isAcceptType, isNameLock, isReadOnlyColumn, isSerializeFieldId, remove, remove, remove, removeFieldDefinitionListener, removeReadOnlyColumn, setAcceptTypes, setName, setSerializeFieldId, size
 
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

XML_NAMESPACE

public static final String XML_NAMESPACE
xmlの名前空間URI。http://www.w3.org/XML/1998/namespace

XMLNS_NAMESPACE

public static final String XMLNS_NAMESPACE
xmlnsの名前空間URI。http://www.w3.org/2000/xmlns/

DEFAULT_NAMESPACE_PREFIX

public static final String DEFAULT_NAMESPACE_PREFIX
デフォルトネームスペース用のprefix。「#default」
Constructor Detail

XMLFieldDefinition

public XMLFieldDefinition()
XMLField定義を作成します。

XMLFieldDefinition

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

getType

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

getFieldXML

public FieldXML getFieldXML(int idx)
idx番目のFieldを返します。

canMoveUp

public boolean canMoveUp(Field f)
Field順序が上に移動可能かどうかを返します。
Overrides:
canMoveUp in class FieldDefinition

moveUp

public UndoableEdit moveUp(Field f)
Field順序を上に移動します。
Overrides:
moveUp in class FieldDefinition

canMoveDown

public boolean canMoveDown(Field f)
Field順序が下に移動可能かどうかを返します。
Overrides:
canMoveDown in class FieldDefinition

moveDown

public UndoableEdit moveDown(Field f)
Field順序を下に移動します。
Overrides:
moveDown in class FieldDefinition

canBranchUp

public boolean canBranchUp(Field f)
Fieldの深さを1段階上に移動可能かどうかを返します。

branchUp

public UndoableEdit branchUp(Field f)
Fieldの深さを1段階上に移動します。

canBranchDown

public boolean canBranchDown(Field f)
Fieldの深さを1段階下に移動可能かどうかを返します。

branchDown

public UndoableEdit branchDown(Field f)
Fieldの深さを1段階下に移動します。

createField

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

containsPrefix

public boolean containsPrefix(String prefix)
指定のprefixがNamespaceListに含まれているかどうかを返します。

getNamespaceList

public List getNamespaceList()
Namespace定義のListを返します。

setNamespaceList

public UndoableEdit setNamespaceList(List list)
Namespace定義のListを設定します。

validName

public boolean validName(String name)
nameがXMLの要素名として正しいかどうかをチェックします。
Overrides:
validName in class FieldDefinition

validNamespacePrefix

public static boolean validNamespacePrefix(String prefix)
prefixが名前空間宣言のprefixとして正しいかどうかをチェックします。

addNamespace

public void addNamespace(String prefix,
                         String uri)
Namespaceを追加します。
addNamespace(new Namespace(prefix, uri))と同じです。

addNamespace

public void addNamespace(Namespace ns)
Namespaceを追加します。

getNamespaceURI

public String getNamespaceURI(String prefix)
prefixに対応する名前空間URIを返します。

getDefaultNamespaceURI

public String getDefaultNamespaceURI()
prefixが「#default」で定義されている名前空間URIを返します。

validate

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

hasChild

public boolean hasChild(FieldXML f)
Fieldが子ノード(要素または属性)定義を持っているかどうかをチェックします。

getParent

public FieldXML getParent(FieldXML f)
Fieldの親Fieldを返します。

clone

public Object clone()
XMLFieldDefinitionの複製を作成して返します。
Overrides:
clone in class FieldDefinition

equals

public boolean equals(Object o)
Overrides:
equals in class FieldDefinition

assignTo

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

assign

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

getFieldIndex

public int getFieldIndex(FieldXML f)
Fieldが要素であり同名の要素定義が並列に複数ある場合にそのインデックスを返します。
それ以外の場合は0を返します。

importFieldDefinition

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