Class headObject


  • public class headObject
    extends X3DConcreteStatement
    Functional summary: each X3D scene includes a head statement that can contain component, unit and meta statements. This concrete class represents an X3D head statement.

    X3D statement tooltip: [X3D statement] head can contain component, unit, and author-defined meta (metadata) elements.
    • Hint: design for this element is patterned after the <head> tag in HTML: https://www.w3.org/TR/html5/document-metadata.html#the-head-element
    • Warning: head is optional first child of X3D statement, and must precede the Scene statement.
    • Warning: in order to pass XML validation, these contained optional statements must appear in order: first component statements, then unit statements, then meta statements.
    See Also:
    X3D Abstract Specification: head, X3D Tooltips: head, X3D Scene Authoring Hints
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String COMPONENT
      String constant COMPONENT defines X3D component for the head element: Core
      static int LEVEL
      Integer constant LEVEL provides default X3D Core component level for this element: 1
      static java.lang.String NAME
      String constant NAME provides name of this element: head.
    • Constructor Summary

      Constructors 
      Constructor Description
      headObject()
      Constructor for headObject to initialize member variables with default values.
    • Method Summary

      Modifier and Type Method Description
      headObject addComments​(java.lang.String newComment)
      Add comment as String to contained commentsList.
      headObject addComments​(java.lang.String[] newComments)
      Add comments as String[] array to contained commentsList.
      headObject addComments​(CommentsBlock newCommentsBlock)
      Add CommentsBlock to contained commentsList.
      headObject addComponent​(java.lang.String componentName, int level)
      Add a child component statement.
      headObject addComponent​(componentObject newValue)
      Add array of child component nodes to array of existing nodes (if any).
      headObject addMeta​(java.lang.String newName, java.lang.String newDescription)
      Add a child meta statement.
      headObject addMeta​(metaObject newValue)
      Add array of child meta nodes to array of existing nodes (if any).
      headObject addUnit​(java.lang.String newName, java.lang.String newCategory, double newConversionFactor)
      Add a child unit statement.
      headObject addUnit​(java.lang.String newName, java.lang.String newCategory, float newConversionFactor)
      Add a child unit statement.
      headObject addUnit​(unitObject newValue)
      Add array of child unit nodes to array of existing nodes (if any).
      headObject clearComponent()
      Utility method to clear MFNode value of componentList field.
      headObject clearMeta()
      Utility method to clear MFNode value of metaList field.
      headObject clearUnit()
      Utility method to clear MFNode value of unitList field.
      componentObject findComponentByName​(java.lang.String componentName)
      Find contained component statement by name, if present.
      X3DConcreteElement findElementByNameValue​(java.lang.String nameValue)
      Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element.
      X3DConcreteElement findElementByNameValue​(java.lang.String nameValue, java.lang.String elementName)
      Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element.
      metaObject findMetaByName​(java.lang.String metaName)
      Find contained meta statement by name, if present.
      X3DConcreteNode findNodeByDEF​(java.lang.String DEFvalue)
      Recursive method to provide object reference to node by DEF, if found as this node or in a contained node.
      unitObject findUnitByName​(java.lang.String unitName)
      Find contained unit statement by name, if present.
      java.lang.String getAccessType​(java.lang.String fieldName)
      Indicate accessType corresponding to given fieldName.
      java.lang.String getComponent()
      Defines X3D component for the head element: Core
      int getComponentLevel()
      Provides default X3D component level for this element: 1
      java.util.ArrayList<componentObject> getComponentList()
      Provide array of componentObject results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field component.
      java.lang.String getElementName()
      Provides name of this element: head
      java.lang.String getFieldType​(java.lang.String fieldName)
      Indicate type corresponding to given fieldName.
      java.util.ArrayList<metaObject> getMetaList()
      Provide array of metaObject results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field meta.
      java.util.ArrayList<unitObject> getUnitList()
      Provide array of unitObject results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field unit.
      boolean hasComponent()
      Indicate whether an object is available for inputOutput MFNode field componentList.
      boolean hasComponent​(java.lang.String componentName)
      Determine whether relevant component statement is present.
      boolean hasElementByNameValue​(java.lang.String nameValue, java.lang.String elementName)
      Recursive method to determine whether node or statement with given name attribute is found, meaning both objects are attached to same scene graph.
      boolean hasMeta()
      Indicate whether an object is available for inputOutput MFNode field metaList.
      boolean hasMeta​(java.lang.String metaName)
      Determine whether relevant meta statement is present.
      boolean hasNodeByDEF​(java.lang.String DEFvalue)
      Recursive method to determine whether node with DEFvalue is found, meaning both objects are attached to same scene graph.
      boolean hasUnit()
      Indicate whether an object is available for inputOutput MFNode field unitList.
      boolean hasUnit​(java.lang.String unitName)
      Determine whether relevant unit statement is present.
      void initialize()
      Initialize all member variables to default values.
      headObject setComponent​(componentObject newValue)
      Set single child component node, replacing prior array of existing nodes (if any).
      headObject setComponentList​(java.util.ArrayList<componentObject> newValue)
      Accessor method to assign componentObject array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field component.
      headObject setMeta​(metaObject newValue)
      Set single child meta node, replacing prior array of existing nodes (if any).
      headObject setMetaList​(java.util.ArrayList<metaObject> newValue)
      Accessor method to assign metaObject array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field meta.
      headObject setUnit​(unitObject newValue)
      Set single child unit node, replacing prior array of existing nodes (if any).
      headObject setUnitList​(java.util.ArrayList<unitObject> newValue)
      Accessor method to assign unitObject array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field unit.
      java.lang.String toStringClassicVRML​(int indentLevel)
      Recursive method to provide ClassicVRML string serialization.
      java.lang.String toStringVRML97​(int indentLevel)
      Recursive method to provide VRML97 string serialization.
      java.lang.String toStringX3D​(int indentLevel)
      Recursive method to provide X3D string serialization of this model subgraph, utilizing XML encoding and conforming to X3D Canonical Form.
      java.lang.String validate()
      Recursive method to validate this element plus all contained nodes and statements, using both datatype-specification value checks and regular expression (regex) checking of corresponding string values.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NAME

        public static final java.lang.String NAME
        String constant NAME provides name of this element: head.
        See Also:
        Constant Field Values
      • COMPONENT

        public static final java.lang.String COMPONENT
        String constant COMPONENT defines X3D component for the head element: Core
        See Also:
        Constant Field Values
      • LEVEL

        public static final int LEVEL
        Integer constant LEVEL provides default X3D Core component level for this element: 1
        See Also:
        Constant Field Values
    • Constructor Detail

      • headObject

        public headObject()
        Constructor for headObject to initialize member variables with default values.
    • Method Detail

      • getElementName

        public final java.lang.String getElementName()
        Provides name of this element: head
        Specified by:
        getElementName in class X3DConcreteElement
        Returns:
        name of this element
      • getComponent

        public final java.lang.String getComponent()
        Defines X3D component for the head element: Core
        Specified by:
        getComponent in class X3DConcreteElement
        Returns:
        X3D component for this element
      • getComponentLevel

        public final int getComponentLevel()
        Provides default X3D component level for this element: 1
        Specified by:
        getComponentLevel in class X3DConcreteElement
        Returns:
        default X3D component level for this element
      • getFieldType

        public java.lang.String getFieldType​(java.lang.String fieldName)
        Indicate type corresponding to given fieldName.
        Specified by:
        getFieldType in class X3DConcreteElement
        Parameters:
        fieldName - name of field in this X3D statement
        Returns:
        X3D type (SFvec3f etc.), otherwise ConfigurationProperties.ERROR_UNKNOWN_FIELD_TYPE if not recognized
        See Also:
        ConfigurationProperties.ERROR_UNKNOWN_FIELD_TYPE
      • getAccessType

        public java.lang.String getAccessType​(java.lang.String fieldName)
        Indicate accessType corresponding to given fieldName.
        Specified by:
        getAccessType in class X3DConcreteElement
        Parameters:
        fieldName - name of field in this X3D statement
        Returns:
        X3D accessType (inputOnly etc.), otherwise ConfigurationProperties.ERROR_UNKNOWN_FIELD_ACCESSTYPE if not recognized
        See Also:
        ConfigurationProperties.ERROR_UNKNOWN_FIELD_ACCESSTYPE
      • initialize

        public final void initialize()
        Initialize all member variables to default values.
        Overrides:
        initialize in class X3DConcreteStatement
      • getComponentList

        public java.util.ArrayList<componentObject> getComponentList()
        Provide array of componentObject results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field component.

        Tooltip: Add component statements to indicate necessary scene functionality above the given profile for this X3D model. *


        Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to component.
        Returns:
        value of component field
        See Also:
        componentObject
      • setComponentList

        public headObject setComponentList​(java.util.ArrayList<componentObject> newValue)
        Accessor method to assign componentObject array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field component.

        Tooltip: Add component statements to indicate necessary scene functionality above the given profile for this X3D model. *


        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to component.
        Parameters:
        newValue - is new value for the component field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • addComponent

        public headObject addComponent​(componentObject newValue)
        Add array of child component nodes to array of existing nodes (if any).

        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to component.
        Parameters:
        newValue - is new value array to be appended the component field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • setComponent

        public headObject setComponent​(componentObject newValue)
        Set single child component node, replacing prior array of existing nodes (if any).

        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are restricted to component.
        Parameters:
        newValue - is new node for the component field (restricted to component)
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • clearComponent

        public headObject clearComponent()
        Utility method to clear MFNode value of componentList field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
      • hasComponent

        public boolean hasComponent()
        Indicate whether an object is available for inputOutput MFNode field componentList.
        Returns:
        whether a concrete statement array or CommentsBlock is available.
        See Also:
        getComponentList()
      • getMetaList

        public java.util.ArrayList<metaObject> getMetaList()
        Provide array of metaObject results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field meta.

        Tooltip: Add meta statements to provide metadata information about this X3D model. *


        Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to meta.
        Returns:
        value of meta field
        See Also:
        metaObject
      • setMetaList

        public headObject setMetaList​(java.util.ArrayList<metaObject> newValue)
        Accessor method to assign metaObject array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field meta.

        Tooltip: Add meta statements to provide metadata information about this X3D model. *


        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to meta.
        Parameters:
        newValue - is new value for the meta field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • addMeta

        public headObject addMeta​(metaObject newValue)
        Add array of child meta nodes to array of existing nodes (if any).

        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to meta.
        Parameters:
        newValue - is new value array to be appended the meta field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • setMeta

        public headObject setMeta​(metaObject newValue)
        Set single child meta node, replacing prior array of existing nodes (if any).

        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are restricted to meta.
        Parameters:
        newValue - is new node for the meta field (restricted to meta)
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • clearMeta

        public headObject clearMeta()
        Utility method to clear MFNode value of metaList field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
      • hasMeta

        public boolean hasMeta()
        Indicate whether an object is available for inputOutput MFNode field metaList.
        Returns:
        whether a concrete statement array or CommentsBlock is available.
        See Also:
        getMetaList()
      • getUnitList

        public java.util.ArrayList<unitObject> getUnitList()
        Provide array of unitObject results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field unit.

        Tooltip: Add unit statements to define data-conversion factors for typed values defined within a scene. *


        Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to unit.
        Returns:
        value of unit field
        See Also:
        unitObject
      • setUnitList

        public headObject setUnitList​(java.util.ArrayList<unitObject> newValue)
        Accessor method to assign unitObject array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field unit.

        Tooltip: Add unit statements to define data-conversion factors for typed values defined within a scene. *


        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to unit.
        Parameters:
        newValue - is new value for the unit field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • addUnit

        public headObject addUnit​(unitObject newValue)
        Add array of child unit nodes to array of existing nodes (if any).

        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to unit.
        Parameters:
        newValue - is new value array to be appended the unit field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • setUnit

        public headObject setUnit​(unitObject newValue)
        Set single child unit node, replacing prior array of existing nodes (if any).

        Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are restricted to unit.
        Parameters:
        newValue - is new node for the unit field (restricted to unit)
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • clearUnit

        public headObject clearUnit()
        Utility method to clear MFNode value of unitList field.
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
      • hasUnit

        public boolean hasUnit()
        Indicate whether an object is available for inputOutput MFNode field unitList.
        Returns:
        whether a concrete statement array or CommentsBlock is available.
        See Also:
        getUnitList()
      • addComponent

        public headObject addComponent​(java.lang.String componentName,
                                       int level)
        Add a child component statement.
        Parameters:
        componentName - name for component statement
        level - for component statement
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
        See Also:
        X3D Tooltips: component
      • addUnit

        public headObject addUnit​(java.lang.String newName,
                                  java.lang.String newCategory,
                                  float newConversionFactor)
        Add a child unit statement.
        Parameters:
        newName - name for this unit statement
        newCategory - category value for this unit statement
        newConversionFactor - conversion factor for this unit statement
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
        See Also:
        X3D Tooltips: unit statement, X3D Scene Authoring Hints: Scale Factors and Unit Conversions
      • addUnit

        public headObject addUnit​(java.lang.String newName,
                                  java.lang.String newCategory,
                                  double newConversionFactor)
        Add a child unit statement.
        Parameters:
        newName - name for this unit statement
        newCategory - category value for this unit statement
        newConversionFactor - conversion factor for this unit statement
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
        See Also:
        X3D Tooltips: unit statement, X3D Scene Authoring Hints: Scale Factors and Unit Conversions
      • addMeta

        public headObject addMeta​(java.lang.String newName,
                                  java.lang.String newDescription)
        Add a child meta statement.
        Parameters:
        newName - name for meta statement
        newDescription - description for meta statement
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
        See Also:
        X3D Tooltips: meta statement
      • addComments

        public headObject addComments​(java.lang.String newComment)
        Add comment as String to contained commentsList.
        Specified by:
        addComments in class X3DConcreteElement
        Parameters:
        newComment - initial value
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
      • addComments

        public headObject addComments​(java.lang.String[] newComments)
        Add comments as String[] array to contained commentsList.
        Specified by:
        addComments in class X3DConcreteElement
        Parameters:
        newComments - array of comments
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
      • addComments

        public headObject addComments​(CommentsBlock newCommentsBlock)
        Add CommentsBlock to contained commentsList.
        Specified by:
        addComments in class X3DConcreteElement
        Parameters:
        newCommentsBlock - block of comments to add
        Returns:
        headObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
      • findElementByNameValue

        public X3DConcreteElement findElementByNameValue​(java.lang.String nameValue)
        Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element. Elements with name fields include meta, Metadata* nodes, field/fieldValue, ProtoDeclare/ExternProtoDeclare/ProtoInstance, CAD and HAnim nodes.

        Warning: first start with findAncestorSceneObject() to check entire scene graph, or findAncestorX3DObject() to check entire model document.

        Warning: more than one element may be found that has the same name, this method does not handle that case.
        Specified by:
        findElementByNameValue in class X3DConcreteElement
        Parameters:
        nameValue - is value of the name field being searched for in this element and child elements(if any)
        Returns:
        object reference to found element, null otherwise
        See Also:
        findNodeByDEF(String), X3DConcreteElement.hasAncestorSceneObject(), X3DConcreteElement.findAncestorX3DObject()
      • findElementByNameValue

        public X3DConcreteElement findElementByNameValue​(java.lang.String nameValue,
                                                         java.lang.String elementName)
        Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element. Elements with name fields include meta, Metadata* nodes, field/fieldValue, ProtoDeclare/ExternProtoDeclare/ProtoInstance, CAD and HAnim nodes.

        Warning: first start with findAncestorSceneObject() to check entire scene graph, or findAncestorX3DObject() to check entire model document.

        Warning: more than one element may be found that has the same name, this method does not handle that case.
        Specified by:
        findElementByNameValue in class X3DConcreteElement
        Parameters:
        nameValue - is value of the name field being searched for in this element and child elements(if any)
        elementName - identifies the element of interest (meta MetadataString ProtoDeclare CADassembly ProtoInstance HAnimHumanoid etc.)
        Returns:
        object reference to found element, null otherwise
        See Also:
        findNodeByDEF(String), X3DConcreteElement.hasAncestorSceneObject(), X3DConcreteElement.findAncestorX3DObject()
      • hasElementByNameValue

        public boolean hasElementByNameValue​(java.lang.String nameValue,
                                             java.lang.String elementName)
        Recursive method to determine whether node or statement with given name attribute is found, meaning both objects are attached to same scene graph.
        Parameters:
        nameValue - is value of the name field being searched for in this element and child elements(if any)
        elementName - identifies the element of interest (meta MetadataString ProtoDeclare CADassembly ProtoInstance HAnimHumanoid etc.)
        Returns:
        whether node is found
        See Also:
        findElementByNameValue(String, String)
      • hasNodeByDEF

        public boolean hasNodeByDEF​(java.lang.String DEFvalue)
        Recursive method to determine whether node with DEFvalue is found, meaning both objects are attached to same scene graph.
        Parameters:
        DEFvalue - is value of the name field being searched for in this element and child elements(if any)
        Returns:
        whether node is found
        See Also:
        findNodeByDEF(String)
      • validate

        public java.lang.String validate()
        Recursive method to validate this element plus all contained nodes and statements, using both datatype-specification value checks and regular expression (regex) checking of corresponding string values.
        Specified by:
        validate in class X3DConcreteElement
        Returns:
        validation results (if any)
      • findMetaByName

        public metaObject findMetaByName​(java.lang.String metaName)
        Find contained meta statement by name, if present.
        Parameters:
        metaName - is NMTOKEN name attribute for meta statement of interest
        Returns:
        metaObject reference of interest, null otherwise
        See Also:
        X3D Tooltips: meta statement, X3D Tooltips: type NMTOKEN
      • hasMeta

        public boolean hasMeta​(java.lang.String metaName)
        Determine whether relevant meta statement is present.
        Parameters:
        metaName - is name attribute for meta statement of interest
        Returns:
        whether meta is found.
        See Also:
        X3D Tooltips: meta statement
      • findComponentByName

        public componentObject findComponentByName​(java.lang.String componentName)
        Find contained component statement by name, if present.
        Parameters:
        componentName - name for component statement
        Returns:
        componentObject reference of interest, null otherwise
        See Also:
        X3D Tooltips: component
      • hasComponent

        public boolean hasComponent​(java.lang.String componentName)
        Determine whether relevant component statement is present.
        Parameters:
        componentName - name for component statement
        Returns:
        whether component is found.
        See Also:
        X3D Tooltips: component
      • findUnitByName

        public unitObject findUnitByName​(java.lang.String unitName)
        Find contained unit statement by name, if present.
        Parameters:
        unitName - is name attribute for unit statement of interest
        Returns:
        unitObject reference of interest, null otherwise
        See Also:
        X3D Tooltips: unit
      • hasUnit

        public boolean hasUnit​(java.lang.String unitName)
        Determine whether relevant unit statement is present.
        Parameters:
        unitName - is name attribute for unit statement of interest
        Returns:
        whether unit is found.
        See Also:
        X3D Tooltips: unit