FormFormElement.java

/**
 * **********************************************************************
 *
 * <p>DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
 *
 * <p>Copyright 2008, 2010 Oracle and/or its affiliates. All rights reserved.
 *
 * <p>Use is subject to license terms.
 *
 * <p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0. You can also obtain a copy of the License at
 * http://odftoolkit.org/docs/license.txt
 *
 * <p>Unless required by applicable law or agreed to in writing, software distributed under the
 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied.
 *
 * <p>See the License for the specific language governing permissions and limitations under the
 * License.
 *
 * <p>**********************************************************************
 */

/*
 * This file is automatically generated.
 * Don't edit manually.
 */
package org.odftoolkit.odfdom.dom.element.form;

import org.odftoolkit.odfdom.dom.DefaultElementVisitor;
import org.odftoolkit.odfdom.dom.OdfDocumentNamespace;
import org.odftoolkit.odfdom.dom.attribute.form.FormAllowDeletesAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormAllowInsertsAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormAllowUpdatesAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormApplyFilterAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormCommandAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormCommandTypeAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormControlImplementationAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormDatasourceAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormDetailFieldsAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormEnctypeAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormEscapeProcessingAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormFilterAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormIgnoreResultAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormMasterFieldsAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormMethodAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormNameAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormNavigationModeAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormOrderAttribute;
import org.odftoolkit.odfdom.dom.attribute.form.FormTabCycleAttribute;
import org.odftoolkit.odfdom.dom.attribute.office.OfficeTargetFrameAttribute;
import org.odftoolkit.odfdom.dom.attribute.xlink.XlinkActuateAttribute;
import org.odftoolkit.odfdom.dom.attribute.xlink.XlinkHrefAttribute;
import org.odftoolkit.odfdom.dom.attribute.xlink.XlinkTypeAttribute;
import org.odftoolkit.odfdom.dom.element.office.OfficeEventListenersElement;
import org.odftoolkit.odfdom.pkg.ElementVisitor;
import org.odftoolkit.odfdom.pkg.OdfElement;
import org.odftoolkit.odfdom.pkg.OdfFileDom;
import org.odftoolkit.odfdom.pkg.OdfName;

/** DOM implementation of OpenDocument element {@odf.element form:form}. */
public class FormFormElement extends OdfElement {

  public static final OdfName ELEMENT_NAME = OdfName.newName(OdfDocumentNamespace.FORM, "form");

  /**
   * Create the instance of <code>FormFormElement</code>
   *
   * @param ownerDoc The type is <code>OdfFileDom</code>
   */
  public FormFormElement(OdfFileDom ownerDoc) {
    super(ownerDoc, ELEMENT_NAME);
  }

  /**
   * Get the element name
   *
   * @return return <code>OdfName</code> the name of element {@odf.element form:form}.
   */
  public OdfName getOdfName() {
    return ELEMENT_NAME;
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormAllowDeletesAttribute
   * </code> , See {@odf.attribute form:allow-deletes}
   *
   * @return - the <code>Boolean</code> , the value or <code>null</code>, if the attribute is not
   *     set and no default value defined.
   */
  public Boolean getFormAllowDeletesAttribute() {
    FormAllowDeletesAttribute attr =
        (FormAllowDeletesAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "allow-deletes");
    if (attr != null) {
      return Boolean.valueOf(attr.booleanValue());
    }
    return Boolean.valueOf(FormAllowDeletesAttribute.DEFAULT_VALUE);
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormAllowDeletesAttribute</code> , See
   * {@odf.attribute form:allow-deletes}
   *
   * @param formAllowDeletesValue The type is <code>Boolean</code>
   */
  public void setFormAllowDeletesAttribute(Boolean formAllowDeletesValue) {
    FormAllowDeletesAttribute attr = new FormAllowDeletesAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setBooleanValue(formAllowDeletesValue.booleanValue());
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormAllowInsertsAttribute
   * </code> , See {@odf.attribute form:allow-inserts}
   *
   * @return - the <code>Boolean</code> , the value or <code>null</code>, if the attribute is not
   *     set and no default value defined.
   */
  public Boolean getFormAllowInsertsAttribute() {
    FormAllowInsertsAttribute attr =
        (FormAllowInsertsAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "allow-inserts");
    if (attr != null) {
      return Boolean.valueOf(attr.booleanValue());
    }
    return Boolean.valueOf(FormAllowInsertsAttribute.DEFAULT_VALUE);
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormAllowInsertsAttribute</code> , See
   * {@odf.attribute form:allow-inserts}
   *
   * @param formAllowInsertsValue The type is <code>Boolean</code>
   */
  public void setFormAllowInsertsAttribute(Boolean formAllowInsertsValue) {
    FormAllowInsertsAttribute attr = new FormAllowInsertsAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setBooleanValue(formAllowInsertsValue.booleanValue());
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormAllowUpdatesAttribute
   * </code> , See {@odf.attribute form:allow-updates}
   *
   * @return - the <code>Boolean</code> , the value or <code>null</code>, if the attribute is not
   *     set and no default value defined.
   */
  public Boolean getFormAllowUpdatesAttribute() {
    FormAllowUpdatesAttribute attr =
        (FormAllowUpdatesAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "allow-updates");
    if (attr != null) {
      return Boolean.valueOf(attr.booleanValue());
    }
    return Boolean.valueOf(FormAllowUpdatesAttribute.DEFAULT_VALUE);
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormAllowUpdatesAttribute</code> , See
   * {@odf.attribute form:allow-updates}
   *
   * @param formAllowUpdatesValue The type is <code>Boolean</code>
   */
  public void setFormAllowUpdatesAttribute(Boolean formAllowUpdatesValue) {
    FormAllowUpdatesAttribute attr = new FormAllowUpdatesAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setBooleanValue(formAllowUpdatesValue.booleanValue());
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormApplyFilterAttribute</code>
   * , See {@odf.attribute form:apply-filter}
   *
   * @return - the <code>Boolean</code> , the value or <code>null</code>, if the attribute is not
   *     set and no default value defined.
   */
  public Boolean getFormApplyFilterAttribute() {
    FormApplyFilterAttribute attr =
        (FormApplyFilterAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "apply-filter");
    if (attr != null) {
      return Boolean.valueOf(attr.booleanValue());
    }
    return Boolean.valueOf(FormApplyFilterAttribute.DEFAULT_VALUE);
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormApplyFilterAttribute</code> , See
   * {@odf.attribute form:apply-filter}
   *
   * @param formApplyFilterValue The type is <code>Boolean</code>
   */
  public void setFormApplyFilterAttribute(Boolean formApplyFilterValue) {
    FormApplyFilterAttribute attr = new FormApplyFilterAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setBooleanValue(formApplyFilterValue.booleanValue());
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormCommandAttribute</code> ,
   * See {@odf.attribute form:command}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormCommandAttribute() {
    FormCommandAttribute attr =
        (FormCommandAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "command");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormCommandAttribute</code> , See
   * {@odf.attribute form:command}
   *
   * @param formCommandValue The type is <code>String</code>
   */
  public void setFormCommandAttribute(String formCommandValue) {
    FormCommandAttribute attr = new FormCommandAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formCommandValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormCommandTypeAttribute</code>
   * , See {@odf.attribute form:command-type}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormCommandTypeAttribute() {
    FormCommandTypeAttribute attr =
        (FormCommandTypeAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "command-type");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return FormCommandTypeAttribute.DEFAULT_VALUE;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormCommandTypeAttribute</code> , See
   * {@odf.attribute form:command-type}
   *
   * @param formCommandTypeValue The type is <code>String</code>
   */
  public void setFormCommandTypeAttribute(String formCommandTypeValue) {
    FormCommandTypeAttribute attr = new FormCommandTypeAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formCommandTypeValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>
   * FormControlImplementationAttribute</code> , See {@odf.attribute form:control-implementation}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormControlImplementationAttribute() {
    FormControlImplementationAttribute attr =
        (FormControlImplementationAttribute)
            getOdfAttribute(OdfDocumentNamespace.FORM, "control-implementation");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormControlImplementationAttribute
   * </code> , See {@odf.attribute form:control-implementation}
   *
   * @param formControlImplementationValue The type is <code>String</code>
   */
  public void setFormControlImplementationAttribute(String formControlImplementationValue) {
    FormControlImplementationAttribute attr =
        new FormControlImplementationAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formControlImplementationValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormDatasourceAttribute</code>
   * , See {@odf.attribute form:datasource}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormDatasourceAttribute() {
    FormDatasourceAttribute attr =
        (FormDatasourceAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "datasource");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormDatasourceAttribute</code> , See
   * {@odf.attribute form:datasource}
   *
   * @param formDatasourceValue The type is <code>String</code>
   */
  public void setFormDatasourceAttribute(String formDatasourceValue) {
    FormDatasourceAttribute attr = new FormDatasourceAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formDatasourceValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormDetailFieldsAttribute
   * </code> , See {@odf.attribute form:detail-fields}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormDetailFieldsAttribute() {
    FormDetailFieldsAttribute attr =
        (FormDetailFieldsAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "detail-fields");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormDetailFieldsAttribute</code> , See
   * {@odf.attribute form:detail-fields}
   *
   * @param formDetailFieldsValue The type is <code>String</code>
   */
  public void setFormDetailFieldsAttribute(String formDetailFieldsValue) {
    FormDetailFieldsAttribute attr = new FormDetailFieldsAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formDetailFieldsValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormEnctypeAttribute</code> ,
   * See {@odf.attribute form:enctype}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormEnctypeAttribute() {
    FormEnctypeAttribute attr =
        (FormEnctypeAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "enctype");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return FormEnctypeAttribute.DEFAULT_VALUE;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormEnctypeAttribute</code> , See
   * {@odf.attribute form:enctype}
   *
   * @param formEnctypeValue The type is <code>String</code>
   */
  public void setFormEnctypeAttribute(String formEnctypeValue) {
    FormEnctypeAttribute attr = new FormEnctypeAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formEnctypeValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormEscapeProcessingAttribute
   * </code> , See {@odf.attribute form:escape-processing}
   *
   * @return - the <code>Boolean</code> , the value or <code>null</code>, if the attribute is not
   *     set and no default value defined.
   */
  public Boolean getFormEscapeProcessingAttribute() {
    FormEscapeProcessingAttribute attr =
        (FormEscapeProcessingAttribute)
            getOdfAttribute(OdfDocumentNamespace.FORM, "escape-processing");
    if (attr != null) {
      return Boolean.valueOf(attr.booleanValue());
    }
    return Boolean.valueOf(FormEscapeProcessingAttribute.DEFAULT_VALUE);
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormEscapeProcessingAttribute</code> ,
   * See {@odf.attribute form:escape-processing}
   *
   * @param formEscapeProcessingValue The type is <code>Boolean</code>
   */
  public void setFormEscapeProcessingAttribute(Boolean formEscapeProcessingValue) {
    FormEscapeProcessingAttribute attr =
        new FormEscapeProcessingAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setBooleanValue(formEscapeProcessingValue.booleanValue());
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormFilterAttribute</code> ,
   * See {@odf.attribute form:filter}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormFilterAttribute() {
    FormFilterAttribute attr =
        (FormFilterAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "filter");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormFilterAttribute</code> , See
   * {@odf.attribute form:filter}
   *
   * @param formFilterValue The type is <code>String</code>
   */
  public void setFormFilterAttribute(String formFilterValue) {
    FormFilterAttribute attr = new FormFilterAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formFilterValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormIgnoreResultAttribute
   * </code> , See {@odf.attribute form:ignore-result}
   *
   * @return - the <code>Boolean</code> , the value or <code>null</code>, if the attribute is not
   *     set and no default value defined.
   */
  public Boolean getFormIgnoreResultAttribute() {
    FormIgnoreResultAttribute attr =
        (FormIgnoreResultAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "ignore-result");
    if (attr != null) {
      return Boolean.valueOf(attr.booleanValue());
    }
    return Boolean.valueOf(FormIgnoreResultAttribute.DEFAULT_VALUE);
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormIgnoreResultAttribute</code> , See
   * {@odf.attribute form:ignore-result}
   *
   * @param formIgnoreResultValue The type is <code>Boolean</code>
   */
  public void setFormIgnoreResultAttribute(Boolean formIgnoreResultValue) {
    FormIgnoreResultAttribute attr = new FormIgnoreResultAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setBooleanValue(formIgnoreResultValue.booleanValue());
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormMasterFieldsAttribute
   * </code> , See {@odf.attribute form:master-fields}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormMasterFieldsAttribute() {
    FormMasterFieldsAttribute attr =
        (FormMasterFieldsAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "master-fields");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormMasterFieldsAttribute</code> , See
   * {@odf.attribute form:master-fields}
   *
   * @param formMasterFieldsValue The type is <code>String</code>
   */
  public void setFormMasterFieldsAttribute(String formMasterFieldsValue) {
    FormMasterFieldsAttribute attr = new FormMasterFieldsAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formMasterFieldsValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormMethodAttribute</code> ,
   * See {@odf.attribute form:method}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormMethodAttribute() {
    FormMethodAttribute attr =
        (FormMethodAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "method");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return FormMethodAttribute.DEFAULT_VALUE;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormMethodAttribute</code> , See
   * {@odf.attribute form:method}
   *
   * @param formMethodValue The type is <code>String</code>
   */
  public void setFormMethodAttribute(String formMethodValue) {
    FormMethodAttribute attr = new FormMethodAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formMethodValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormNameAttribute</code> , See
   * {@odf.attribute form:name}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormNameAttribute() {
    FormNameAttribute attr = (FormNameAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "name");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormNameAttribute</code> , See
   * {@odf.attribute form:name}
   *
   * @param formNameValue The type is <code>String</code>
   */
  public void setFormNameAttribute(String formNameValue) {
    FormNameAttribute attr = new FormNameAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formNameValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormNavigationModeAttribute
   * </code> , See {@odf.attribute form:navigation-mode}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormNavigationModeAttribute() {
    FormNavigationModeAttribute attr =
        (FormNavigationModeAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "navigation-mode");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormNavigationModeAttribute</code> ,
   * See {@odf.attribute form:navigation-mode}
   *
   * @param formNavigationModeValue The type is <code>String</code>
   */
  public void setFormNavigationModeAttribute(String formNavigationModeValue) {
    FormNavigationModeAttribute attr =
        new FormNavigationModeAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formNavigationModeValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormOrderAttribute</code> , See
   * {@odf.attribute form:order}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormOrderAttribute() {
    FormOrderAttribute attr =
        (FormOrderAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "order");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormOrderAttribute</code> , See
   * {@odf.attribute form:order}
   *
   * @param formOrderValue The type is <code>String</code>
   */
  public void setFormOrderAttribute(String formOrderValue) {
    FormOrderAttribute attr = new FormOrderAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formOrderValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>FormTabCycleAttribute</code> ,
   * See {@odf.attribute form:tab-cycle}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getFormTabCycleAttribute() {
    FormTabCycleAttribute attr =
        (FormTabCycleAttribute) getOdfAttribute(OdfDocumentNamespace.FORM, "tab-cycle");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>FormTabCycleAttribute</code> , See
   * {@odf.attribute form:tab-cycle}
   *
   * @param formTabCycleValue The type is <code>String</code>
   */
  public void setFormTabCycleAttribute(String formTabCycleValue) {
    FormTabCycleAttribute attr = new FormTabCycleAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(formTabCycleValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>OfficeTargetFrameAttribute
   * </code> , See {@odf.attribute office:target-frame}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getOfficeTargetFrameAttribute() {
    OfficeTargetFrameAttribute attr =
        (OfficeTargetFrameAttribute) getOdfAttribute(OdfDocumentNamespace.OFFICE, "target-frame");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return OfficeTargetFrameAttribute.DEFAULT_VALUE;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>OfficeTargetFrameAttribute</code> , See
   * {@odf.attribute office:target-frame}
   *
   * @param officeTargetFrameValue The type is <code>String</code>
   */
  public void setOfficeTargetFrameAttribute(String officeTargetFrameValue) {
    OfficeTargetFrameAttribute attr =
        new OfficeTargetFrameAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(officeTargetFrameValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>XlinkActuateAttribute</code> ,
   * See {@odf.attribute xlink:actuate}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getXlinkActuateAttribute() {
    XlinkActuateAttribute attr =
        (XlinkActuateAttribute) getOdfAttribute(OdfDocumentNamespace.XLINK, "actuate");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return XlinkActuateAttribute.DEFAULT_VALUE_ONREQUEST;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>XlinkActuateAttribute</code> , See
   * {@odf.attribute xlink:actuate}
   *
   * @param xlinkActuateValue The type is <code>String</code>
   */
  public void setXlinkActuateAttribute(String xlinkActuateValue) {
    XlinkActuateAttribute attr = new XlinkActuateAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(xlinkActuateValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>XlinkHrefAttribute</code> , See
   * {@odf.attribute xlink:href}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getXlinkHrefAttribute() {
    XlinkHrefAttribute attr =
        (XlinkHrefAttribute) getOdfAttribute(OdfDocumentNamespace.XLINK, "href");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return null;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>XlinkHrefAttribute</code> , See
   * {@odf.attribute xlink:href}
   *
   * @param xlinkHrefValue The type is <code>String</code>
   */
  public void setXlinkHrefAttribute(String xlinkHrefValue) {
    XlinkHrefAttribute attr = new XlinkHrefAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(xlinkHrefValue);
  }

  /**
   * Receives the value of the ODFDOM attribute representation <code>XlinkTypeAttribute</code> , See
   * {@odf.attribute xlink:type}
   *
   * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set
   *     and no default value defined.
   */
  public String getXlinkTypeAttribute() {
    XlinkTypeAttribute attr =
        (XlinkTypeAttribute) getOdfAttribute(OdfDocumentNamespace.XLINK, "type");
    if (attr != null) {
      return String.valueOf(attr.getValue());
    }
    return XlinkTypeAttribute.DEFAULT_VALUE;
  }

  /**
   * Sets the value of ODFDOM attribute representation <code>XlinkTypeAttribute</code> , See
   * {@odf.attribute xlink:type}
   *
   * @param xlinkTypeValue The type is <code>String</code>
   */
  public void setXlinkTypeAttribute(String xlinkTypeValue) {
    XlinkTypeAttribute attr = new XlinkTypeAttribute((OdfFileDom) this.ownerDocument);
    setOdfAttribute(attr);
    attr.setValue(xlinkTypeValue);
  }

  /**
   * Create child element {@odf.element form:button}.
   *
   * @param formImagePositionValue the <code>String</code> value of <code>FormImagePositionAttribute
   *     </code>, see {@odf.attribute form:image-position} at specification
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:button}
   */
  public FormButtonElement newFormButtonElement(String formImagePositionValue, String xmlIdValue) {
    FormButtonElement formButton =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormButtonElement.class);
    formButton.setFormImagePositionAttribute(formImagePositionValue);
    formButton.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formButton);
    return formButton;
  }

  /**
   * Create child element {@odf.element form:checkbox}.
   *
   * @param formImagePositionValue the <code>String</code> value of <code>FormImagePositionAttribute
   *     </code>, see {@odf.attribute form:image-position} at specification
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:checkbox}
   */
  public FormCheckboxElement newFormCheckboxElement(
      String formImagePositionValue, String xmlIdValue) {
    FormCheckboxElement formCheckbox =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormCheckboxElement.class);
    formCheckbox.setFormImagePositionAttribute(formImagePositionValue);
    formCheckbox.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formCheckbox);
    return formCheckbox;
  }

  /**
   * Create child element {@odf.element form:combobox}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:combobox}
   */
  public FormComboboxElement newFormComboboxElement(String xmlIdValue) {
    FormComboboxElement formCombobox =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormComboboxElement.class);
    formCombobox.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formCombobox);
    return formCombobox;
  }

  /**
   * Create child element {@odf.element form:connection-resource}.
   *
   * @param xlinkHrefValue the <code>String</code> value of <code>XlinkHrefAttribute</code>, see
   *     {@odf.attribute xlink:href} at specification
   * @return the element {@odf.element form:connection-resource}
   */
  public FormConnectionResourceElement newFormConnectionResourceElement(String xlinkHrefValue) {
    FormConnectionResourceElement formConnectionResource =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormConnectionResourceElement.class);
    formConnectionResource.setXlinkHrefAttribute(xlinkHrefValue);
    this.appendChild(formConnectionResource);
    return formConnectionResource;
  }

  /**
   * Create child element {@odf.element form:date}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:date}
   */
  public FormDateElement newFormDateElement(String xmlIdValue) {
    FormDateElement formDate =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormDateElement.class);
    formDate.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formDate);
    return formDate;
  }

  /**
   * Create child element {@odf.element form:file}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:file}
   */
  public FormFileElement newFormFileElement(String xmlIdValue) {
    FormFileElement formFile =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormFileElement.class);
    formFile.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formFile);
    return formFile;
  }

  /**
   * Create child element {@odf.element form:fixed-text}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:fixed-text}
   */
  public FormFixedTextElement newFormFixedTextElement(String xmlIdValue) {
    FormFixedTextElement formFixedText =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormFixedTextElement.class);
    formFixedText.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formFixedText);
    return formFixedText;
  }

  /**
   * Create child element {@odf.element form:form}.
   *
   * @return the element {@odf.element form:form}
   */
  public FormFormElement newFormFormElement() {
    FormFormElement formForm =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormFormElement.class);
    this.appendChild(formForm);
    return formForm;
  }

  /**
   * Create child element {@odf.element form:formatted-text}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:formatted-text}
   */
  public FormFormattedTextElement newFormFormattedTextElement(String xmlIdValue) {
    FormFormattedTextElement formFormattedText =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormFormattedTextElement.class);
    formFormattedText.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formFormattedText);
    return formFormattedText;
  }

  /**
   * Create child element {@odf.element form:frame}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:frame}
   */
  public FormFrameElement newFormFrameElement(String xmlIdValue) {
    FormFrameElement formFrame =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormFrameElement.class);
    formFrame.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formFrame);
    return formFrame;
  }

  /**
   * Create child element {@odf.element form:generic-control}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:generic-control}
   */
  public FormGenericControlElement newFormGenericControlElement(String xmlIdValue) {
    FormGenericControlElement formGenericControl =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormGenericControlElement.class);
    formGenericControl.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formGenericControl);
    return formGenericControl;
  }

  /**
   * Create child element {@odf.element form:grid}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:grid}
   */
  public FormGridElement newFormGridElement(String xmlIdValue) {
    FormGridElement formGrid =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormGridElement.class);
    formGrid.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formGrid);
    return formGrid;
  }

  /**
   * Create child element {@odf.element form:hidden}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:hidden}
   */
  public FormHiddenElement newFormHiddenElement(String xmlIdValue) {
    FormHiddenElement formHidden =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormHiddenElement.class);
    formHidden.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formHidden);
    return formHidden;
  }

  /**
   * Create child element {@odf.element form:image}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:image}
   */
  public FormImageElement newFormImageElement(String xmlIdValue) {
    FormImageElement formImage =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormImageElement.class);
    formImage.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formImage);
    return formImage;
  }

  /**
   * Create child element {@odf.element form:image-frame}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:image-frame}
   */
  public FormImageFrameElement newFormImageFrameElement(String xmlIdValue) {
    FormImageFrameElement formImageFrame =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormImageFrameElement.class);
    formImageFrame.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formImageFrame);
    return formImageFrame;
  }

  /**
   * Create child element {@odf.element form:listbox}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:listbox}
   */
  public FormListboxElement newFormListboxElement(String xmlIdValue) {
    FormListboxElement formListbox =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormListboxElement.class);
    formListbox.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formListbox);
    return formListbox;
  }

  /**
   * Create child element {@odf.element form:number}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:number}
   */
  public FormNumberElement newFormNumberElement(String xmlIdValue) {
    FormNumberElement formNumber =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormNumberElement.class);
    formNumber.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formNumber);
    return formNumber;
  }

  /**
   * Create child element {@odf.element form:password}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:password}
   */
  public FormPasswordElement newFormPasswordElement(String xmlIdValue) {
    FormPasswordElement formPassword =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormPasswordElement.class);
    formPassword.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formPassword);
    return formPassword;
  }

  /**
   * Create child element {@odf.element form:properties}.
   *
   * @return the element {@odf.element form:properties}
   */
  public FormPropertiesElement newFormPropertiesElement() {
    FormPropertiesElement formProperties =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormPropertiesElement.class);
    this.appendChild(formProperties);
    return formProperties;
  }

  /**
   * Create child element {@odf.element form:radio}.
   *
   * @param formImagePositionValue the <code>String</code> value of <code>FormImagePositionAttribute
   *     </code>, see {@odf.attribute form:image-position} at specification
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:radio}
   */
  public FormRadioElement newFormRadioElement(String formImagePositionValue, String xmlIdValue) {
    FormRadioElement formRadio =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormRadioElement.class);
    formRadio.setFormImagePositionAttribute(formImagePositionValue);
    formRadio.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formRadio);
    return formRadio;
  }

  /**
   * Create child element {@odf.element form:text}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:text}
   */
  public FormTextElement newFormTextElement(String xmlIdValue) {
    FormTextElement formText =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormTextElement.class);
    formText.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formText);
    return formText;
  }

  /**
   * Create child element {@odf.element form:textarea}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:textarea}
   */
  public FormTextareaElement newFormTextareaElement(String xmlIdValue) {
    FormTextareaElement formTextarea =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormTextareaElement.class);
    formTextarea.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formTextarea);
    return formTextarea;
  }

  /**
   * Create child element {@odf.element form:time}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:time}
   */
  public FormTimeElement newFormTimeElement(String xmlIdValue) {
    FormTimeElement formTime =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormTimeElement.class);
    formTime.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formTime);
    return formTime;
  }

  /**
   * Create child element {@odf.element form:value-range}.
   *
   * @param xmlIdValue the <code>String</code> value of <code>XmlIdAttribute</code>, see
   *     {@odf.attribute xml:id} at specification
   * @return the element {@odf.element form:value-range}
   */
  public FormValueRangeElement newFormValueRangeElement(String xmlIdValue) {
    FormValueRangeElement formValueRange =
        ((OdfFileDom) this.ownerDocument).newOdfElement(FormValueRangeElement.class);
    formValueRange.setXmlIdAttribute(xmlIdValue);
    this.appendChild(formValueRange);
    return formValueRange;
  }

  /**
   * Create child element {@odf.element office:event-listeners}.
   *
   * @return the element {@odf.element office:event-listeners}
   */
  public OfficeEventListenersElement newOfficeEventListenersElement() {
    OfficeEventListenersElement officeEventListeners =
        ((OdfFileDom) this.ownerDocument).newOdfElement(OfficeEventListenersElement.class);
    this.appendChild(officeEventListeners);
    return officeEventListeners;
  }

  @Override
  public void accept(ElementVisitor visitor) {
    if (visitor instanceof DefaultElementVisitor) {
      DefaultElementVisitor defaultVisitor = (DefaultElementVisitor) visitor;
      defaultVisitor.visit(this);
    } else {
      visitor.visit(this);
    }
  }
}