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

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

public class XMLFieldDefinition
extends NestedFieldDefinition

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


Field Summary
static java.lang.String DEFAULT_NAMESPACE_PREFIX
          デフォルトネームスペース用のprefix。「#default」
static java.lang.String XML_NAMESPACE
          xmlの名前空間URI。http://www.w3.org/XML/1998/namespace
static java.lang.String XMLNS_NAMESPACE
          xmlnsの名前空間URI。http://www.w3.org/2000/xmlns/
 
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
XMLFieldDefinition()
          XMLField定義を作成します。
XMLFieldDefinition(FieldType[] acceptTypes)
          使用可能なデータ型を指定してXMLField定義を作成します。
 
Method Summary
 void addNamespace(Namespace ns)
          Namespaceを追加します。
 void addNamespace(java.lang.String prefix, java.lang.String uri)
          Namespaceを追加します。
addNamespace(new Namespace(prefix, uri))と同じです。
 void assign(org.w3c.dom.Element el)
          XMLFieldDefinitionの内容を引数の要素から読み出します。
 void assignTo(org.w3c.dom.Element el)
          XMLFieldDefinitionの内容を引数の要素に書き出します。
 boolean canBranchDown(Field f)
          Fieldの深さを1段階下に移動可能かどうかを返します。
 java.lang.Object clone()
          XMLFieldDefinitionの複製を作成して返します。
 boolean containsPrefix(java.lang.String prefix)
          指定のprefixがNamespaceListに含まれているかどうかを返します。
 Field createField(java.lang.String name, FieldType type)
          Fieldを作成します。
作成されるFieldはFieldXMLクラスです。
 boolean equals(java.lang.Object o)
           
 java.lang.String getDefaultNamespaceURI()
          prefixが「#default」で定義されている名前空間URIを返します。
 int getFieldIndex(FieldXML f)
          Fieldが要素であり同名の要素定義が並列に複数ある場合にそのインデックスを返します。
それ以外の場合は0を返します。
 FieldXML getFieldXML(int idx)
          idx番目のFieldを返します。
 java.util.List getNamespaceList()
          Namespace定義のListを返します。
 java.lang.String getNamespaceURI(java.lang.String prefix)
          prefixに対応する名前空間URIを返します。
 java.lang.String getType()
          FieldDefinition種別を返します。
TYPE_XMLが返ります。
 javax.swing.undo.UndoableEdit importFieldDefinition(FieldDefinition fd, boolean keepFieldId, java.lang.String oldName)
          フィールド定義をインポートします。
 javax.swing.undo.UndoableEdit setNamespaceList(java.util.List list)
          Namespace定義のListを設定します。
 void validate()
          フィールド定義が正しいかどうかをチェックします。
不正な場合はExceptionが発生します。
 boolean validName(java.lang.String name)
          nameがXMLの要素名として正しいかどうかをチェックします。
static boolean validNamespacePrefix(java.lang.String prefix)
          prefixが名前空間宣言のprefixとして正しいかどうかをチェックします。
 
Methods inherited from class com.infoteria.asteria.flowbuilder2.stream.field.NestedFieldDefinition
branchDown, branchUp, canBranchUp, canMoveDown, canMoveUp, getNestedField, getParent, hasChild, moveDown, moveUp
 
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 java.lang.String XML_NAMESPACE
xmlの名前空間URI。http://www.w3.org/XML/1998/namespace

XMLNS_NAMESPACE

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

DEFAULT_NAMESPACE_PREFIX

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

XMLFieldDefinition

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

XMLFieldDefinition

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

getType

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

getFieldXML

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

canBranchDown

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

createField

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

containsPrefix

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

getNamespaceList

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

setNamespaceList

public javax.swing.undo.UndoableEdit setNamespaceList(java.util.List list)
Namespace定義のListを設定します。

validName

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

validNamespacePrefix

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

addNamespace

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

addNamespace

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

getNamespaceURI

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

getDefaultNamespaceURI

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

validate

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

clone

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

equals

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

assignTo

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

assign

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

getFieldIndex

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

importFieldDefinition

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