Class XMLFieldDefinition

All Implemented Interfaces:
com.infoteria.asteria.flowbuilder2.mapper.MappingHolder, Cloneable

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

    • XML_NAMESPACE

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

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

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

    • XMLFieldDefinition

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

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

    • getType

      public 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(String name, FieldType type)
      Fieldを作成します。
      作成されるFieldはFieldXMLクラスです。
      Overrides:
      createField in class FieldDefinition
    • containsPrefix

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

      public List<Namespace> getNamespaceList()
      Namespace定義のListを返します。
    • setNamespaceList

      public UndoableEdit setNamespaceList(List<Namespace> 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
      Throws:
      Exception
    • 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を渡してください。