Class connectObject

java.lang.Object

public class connectObject
extends X3DConcreteStatement
Functional summary: connect statements define event-routing connections between node fields defined inside a ProtoBody declaration back to corresponding ProtoInterface fields. This concrete class represents an X3D connect statement.

X3D statement tooltip: [X3D statement] connect statements define event-routing connections between node fields defined inside a ProtoBody declaration back to corresponding ProtoInterface fields. To define each Prototype connection between a ProtoInterface field and a ProtoBody node field, add one or more connect statements within each IS statement.
See Also:
X3D Abstract Specification: connect, X3D Tooltips: connect, X3D Scene Authoring Hints, ISObject, ProtoDeclareObject, ProtoInterfaceObject, ProtoBodyObject, ProtoInstanceObject
  • Field Details

    • NAME

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

      public static final java.lang.String COMPONENT
      String constant COMPONENT defines X3D component for the connect 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: 2
      See Also:
      Constant Field Values
    • NODEFIELD_DEFAULT_VALUE

      public static final java.lang.String NODEFIELD_DEFAULT_VALUE
      SFString field named nodeField has default value equal to an empty string.
      See Also:
      Constant Field Values
    • PROTOFIELD_DEFAULT_VALUE

      public static final java.lang.String PROTOFIELD_DEFAULT_VALUE
      SFString field named protoField has default value equal to an empty string.
      See Also:
      Constant Field Values
  • Constructor Details

    • connectObject

      public connectObject()
      Constructor for connectObject to initialize member variables with default values.
  • Method Details

    • getElementName

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

      public final java.lang.String getComponent()
      Defines X3D component for the connect 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: 2
      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
    • getNodeField

      public java.lang.String getNodeField()
      Provide String value from inputOutput SFString field named nodeField.

      Tooltip: Name of field within this node which IS CONNECTed to the ancestor ProtoDeclare field definition.
      • Warning: do not define a nodeField connection to an internal DEF, USE, class or containerField, since they are not fields in a node that can be modified by events at run time.
      • Warning: do not connect more than one interface protoField to a single field within this node.
      • Warning: nodeField and protoField types must match.
      Returns:
      value of nodeField field
    • setNodeField

      public connectObject setNodeField​(java.lang.String newValue)
      Accessor method to assign String value to inputOutput SFString field named nodeField.

      Tooltip: Name of field within this node which IS CONNECTed to the ancestor ProtoDeclare field definition.
      • Warning: do not define a nodeField connection to an internal DEF, USE, class or containerField, since they are not fields in a node that can be modified by events at run time.
      • Warning: do not connect more than one interface protoField to a single field within this node.
      • Warning: nodeField and protoField types must match.
      Parameters:
      newValue - is new value for the nodeField field.
      Returns:
      connectObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setNodeField

      public connectObject setNodeField​(SFStringObject newValue)
      Assign typed object value to SFString nodeField field, similar to setNodeField(String).
      Parameters:
      newValue - is new value for the nodeField field.
      Returns:
      connectObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getProtoField

      public java.lang.String getProtoField()
      Provide String value from inputOutput SFString field named protoField.

      Tooltip: Name of parent ProtoDeclare field definition connecting to field in this node.
      • Hint: use multiple IS/connect elements for multiple fan-out from a single protoField interface.
      • Warning: nodeField and protoField types must match.
      Returns:
      value of protoField field
    • setProtoField

      public connectObject setProtoField​(java.lang.String newValue)
      Accessor method to assign String value to inputOutput SFString field named protoField.

      Tooltip: Name of parent ProtoDeclare field definition connecting to field in this node.
      • Hint: use multiple IS/connect elements for multiple fan-out from a single protoField interface.
      • Warning: nodeField and protoField types must match.
      Parameters:
      newValue - is new value for the protoField field.
      Returns:
      connectObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setProtoField

      public connectObject setProtoField​(SFStringObject newValue)
      Assign typed object value to SFString protoField field, similar to setProtoField(String).
      Parameters:
      newValue - is new value for the protoField field.
      Returns:
      connectObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addComments

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

      public connectObject 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:
      connectObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • addComments

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

      public 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.
      Specified by:
      toStringX3D in class X3DConcreteElement
      Parameters:
      indentLevel - number of levels of indentation for this element
      Returns:
      X3D string
      See Also:
      X3DObject.FILE_EXTENSION_X3D, X3DObject.FILE_EXTENSION_XML, X3DObject.toStringXML(), X3DObject.toFileXML(String), X3DObject.toFileX3D(String), X3D XML Encoding, X3D Compressed Binary Encoding: X3D Canonical Form, X3D Canonicalization (C14N) Tool
    • toStringClassicVRML

      public java.lang.String toStringClassicVRML​(int indentLevel)
      Recursive method to provide ClassicVRML string serialization.
      Specified by:
      toStringClassicVRML in class X3DConcreteElement
      Parameters:
      indentLevel - number of levels of indentation for this element
      Returns:
      ClassicVRML string
      See Also:
      X3DObject.FILE_EXTENSION_CLASSICVRML, X3D Resources: Virtual Reality Modeling Language (VRML) 97, Extensible 3D (X3D) encodings Part 2: Classic VRML encoding, Extensible 3D (X3D) encodings Part 2: Classic VRML encoding, Annex A: Grammar
    • toStringVRML97

      public java.lang.String toStringVRML97​(int indentLevel)
      Recursive method to provide VRML97 string serialization.
      Specified by:
      toStringVRML97 in class X3DConcreteElement
      Parameters:
      indentLevel - number of levels of indentation for this element
      Returns:
      VRML97 string
      See Also:
      X3DObject.FILE_EXTENSION_VRML97, X3D Resources: Virtual Reality Modeling Language (VRML) 97, Virtual Reality Modeling Language (VRML) 97 specification, VRML 97 v2.1 Amendment
    • 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)
    • findNodeByDEF

      public 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.

      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 DEF, this method does not handle that case.
      Specified by:
      findNodeByDEF in class X3DConcreteElement
      Parameters:
      DEFvalue - is value of the name field being searched for in this element and child elements(if any)
      Returns:
      object reference to found node, null otherwise
      See Also:
      findElementByNameValue(String), X3DConcreteElement.hasAncestorSceneObject(), X3DConcreteElement.findAncestorX3DObject()
    • 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)