public class ProtoInstanceObject extends X3DConcreteNode implements ProtoInstance
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
COMPONENT
String constant COMPONENT defines X3D component for the ProtoInstance element: Core
|
static java.lang.String |
containerField_DEFAULT_VALUE
containerField describes typical field relationship of a node to its parent.
|
static int |
LEVEL
Integer constant LEVEL provides default X3D Core component level for this element: 2
|
static java.lang.String |
NAME
String constant NAME provides name of this element: ProtoInstance.
|
static java.lang.String |
NAME_DEFAULT_VALUE
SFString field named name has default value equal to an empty string.
|
CLASS_DEFAULT_VALUE, containerField_ALTERNATE_VALUES, DEF_DEFAULT_VALUE, USE_DEFAULT_VALUEvalidationResult| Constructor and Description |
|---|
ProtoInstanceObject()
Constructor for ProtoInstanceObject to initialize member variables with default values.
|
ProtoInstanceObject(java.lang.String prototypeName)
Utility constructor that assigns ProtoInstanceObject name after initializing member variables with default values.
|
ProtoInstanceObject(java.lang.String DEFlabel,
java.lang.String prototypeName)
Utility constructor that assigns ProtoInstanceObject DEF and prototypeName after initializing member variables with default values.
|
| Modifier and Type | Method and Description |
|---|---|
ProtoInstanceObject |
addComments(CommentsBlock newCommentsBlock)
Add CommentsBlock to contained commentsList.
|
ProtoInstanceObject |
addComments(java.lang.String newComment)
Add comment as String to contained commentsList.
|
ProtoInstanceObject |
addComments(java.lang.String[] newComments)
Add comments as String[] array to contained commentsList.
|
ProtoInstanceObject |
addFieldValue(fieldValueObject newFieldValue)
Add fieldValue
|
ProtoInstanceObject |
clearFieldValue()
Utility method to clear MFNode value of fieldValueList field.
|
void |
clearFieldValues()
Clear all fieldValues
|
ProtoInstanceObject |
clearMetadata()
Utility method to clear SFNode value of metadata field.
|
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.
|
fieldValueObject |
findFieldValueByName(java.lang.String fieldValueName)
Find contained fieldValue 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.
|
java.lang.String |
getAccessType(java.lang.String fieldName)
Indicate accessType corresponding to given fieldName.
|
java.lang.String |
getComponent()
Defines X3D component for the ProtoInstance element: Core
|
int |
getComponentLevel()
Provides default X3D component level for this element: 2
|
java.lang.String |
getContainerField()
Utility method that provides ProtoInstanceObject containerField value
Hint: ProtoInstance containerField is important for determining parent-child node relationships.
|
java.lang.String |
getContainerFieldDefault()
containerField describes typical field relationship of a node to its parent.
|
java.lang.String |
getElementName()
Provides name of this element: ProtoInstance
|
ExternProtoDeclareObject |
getExternProtoDeclare()
Provide corresponding ExternProtoDeclare with same name if connected in this scene graph.
|
java.lang.String |
getFieldType(java.lang.String fieldName)
Indicate type corresponding to given fieldName.
|
java.util.ArrayList<fieldValueObject> |
getFieldValueList()
Provide array of fieldValueObject results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field fieldValue.
|
ISObject |
getIS()
Provide field named IS for establishing IS/connect field connections between ProtoInterface fields and internal ProtoBody nodes.
|
X3DMetadataObject |
getMetadata()
Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
|
java.lang.String |
getName()
Provide String value from inputOutput SFString field named name.
|
java.lang.String |
getNodeType()
This method helps determine node type of ProtoInstance by inspecting first node within corresponding ProtoDeclare ProtoBody.
|
java.lang.String |
getOriginalName()
Utility method to find original ProtoInstance name if this ProtoInstance is a USE node (which does not include name).
|
ProtoDeclareObject |
getProtoDeclare()
Provide corresponding ProtoDeclare with same name if connected in this scene graph.
|
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 |
hasExternProtoDeclare()
Determine whether a corresponding ExternProtoDeclare with same name is connected in this scene graph.
|
boolean |
hasFieldValue()
Indicate whether an object is available for inputOutput MFNode field fieldValueList.
|
boolean |
hasFieldValue(java.lang.String fieldValueName)
Determine if fieldValue statement is present.
|
boolean |
hasMetadata()
Indicate whether an object is available for inputOutput SFNode field metadata.
|
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 |
hasProtoDeclare()
Determine whether a corresponding ProtoDeclare with same name is connected in this scene graph.
|
void |
initialize()
Initialize all member variables to default values.
|
boolean |
removeFieldValue(fieldValueObject fieldValueToRemove)
Remove a fieldValue from contained fieldValueList
|
boolean |
removeFieldValue(java.lang.String fieldValueName)
Remove a fieldValue by name from contained fieldValueList
|
ProtoInstanceObject |
setContainerField(java.lang.String containerFieldName)
Utility method that assigns ProtoInstanceObject containerField value
Hint: ProtoInstance containerField is important for determining parent-child node relationships.
|
ProtoInstanceObject |
setCssClass(SFStringObject newValue)
Assign typed object value to SFString cssClass field, similar to
setCssClass(String). |
ProtoInstanceObject |
setCssClass(java.lang.String newValue)
Assign String value to inputOutput SFString field named class.
|
ProtoInstanceObject |
setDEF(SFStringObject newValue)
Assign typed object value to SFString DEF field, similar to
setDEF(String). |
ProtoInstanceObject |
setDEF(java.lang.String newValue)
Assign String value to inputOutput SFString field named DEF.
|
ProtoInstanceObject |
setFieldValue(fieldValueObject newValue)
Set single child fieldValue node, replacing prior array of existing nodes (if any).
|
ProtoInstanceObject |
setFieldValueList(java.util.ArrayList<fieldValueObject> newValue)
Assign fieldValueObject array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field fieldValue.
|
ProtoInstanceObject |
setIS(ISObject newValue)
Assign field named IS for establishing IS/connect field connections between ProtoInterface fields and internal ProtoBody nodes.
|
ProtoInstanceObject |
setMetadata(ProtoInstanceObject newValue)
Assign ProtoInstance (using a properly typed node) to inputOutput SFNode field metadata.
|
ProtoInstanceObject |
setMetadata(X3DMetadataObject newValue)
Assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
|
ProtoInstanceObject |
setName(SFStringObject newValue)
Assign typed object value to SFString name field, similar to
setName(String). |
ProtoInstanceObject |
setName(java.lang.String newValue)
Assign String value to inputOutput SFString field named name.
|
ProtoInstanceObject |
setUSE(ProtoInstanceObject DEFnode)
Assign a USE reference to another DEF node of same node type, similar to
setUSE(String). |
ProtoInstanceObject |
setUSE(SFStringObject newValue)
Assign typed object value to SFString USE field, similar to
setUSE(String). |
ProtoInstanceObject |
setUSE(java.lang.String newValue)
Assign String value to inputOutput SFString field named USE.
|
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.
|
getContainerFieldAlternateValues, getContainerFieldOverride, getCssClass, getDEF, getUSE, isNode, isStatement, isUSE, resetContainerFieldOverride, setConcreteCssClass, setConcreteDEF, setConcreteUSE, setContainerFieldOverrideclearParentObject, findAncestorElementByName, findAncestorProtoBody, findAncestorSceneObject, findAncestorX3DObject, getPackageName, getParentObject, getValidationResult, hasAncestorElementByName, hasAncestorProtoBody, hasAncestorSceneObject, hasAncestorX3DObject, setParentObject, toStringClassicVRML, toStringVRML97, toStringX3Dpublic static final java.lang.String NAME
public static final java.lang.String COMPONENT
public static final int LEVEL
public static final java.lang.String NAME_DEFAULT_VALUE
public static final java.lang.String containerField_DEFAULT_VALUE
public ProtoInstanceObject()
public ProtoInstanceObject(java.lang.String prototypeName)
prototypeName - initial name for this ProtoInstanceObject statementpublic ProtoInstanceObject(java.lang.String DEFlabel,
java.lang.String prototypeName)
DEFlabel - unique DEF name for this X3D nodeprototypeName - initial name for this ProtoInstanceObject statementpublic final java.lang.String getElementName()
getElementName in class X3DConcreteElementpublic final java.lang.String getComponent()
getComponent in class X3DConcreteElementpublic final int getComponentLevel()
getComponentLevel in class X3DConcreteElementpublic java.lang.String getFieldType(java.lang.String fieldName)
getFieldType in class X3DConcreteElementfieldName - name of field in this X3D statementConfigurationProperties.ERROR_UNKNOWN_FIELD_TYPEpublic java.lang.String getAccessType(java.lang.String fieldName)
getAccessType in class X3DConcreteElementfieldName - name of field in this X3D statementConfigurationProperties.ERROR_UNKNOWN_FIELD_ACCESSTYPEpublic final java.lang.String getContainerFieldDefault()
getContainerFieldDefault in class X3DConcreteNodepublic final void initialize()
initialize in class X3DConcreteNodepublic java.util.ArrayList<fieldValueObject> getFieldValueList()
fieldValueObjectpublic ProtoInstanceObject setFieldValueList(java.util.ArrayList<fieldValueObject> newValue)
newValue - is new value for the fieldValue field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject setFieldValue(fieldValueObject newValue)
newValue - is new node for the fieldValue field (restricted to fieldValue)ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject clearFieldValue()
ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive
setAttribute method invocations).public boolean hasFieldValue()
getFieldValueList()public X3DMetadataObject getMetadata()
getMetadata in interface ProtoInstancegetMetadata in interface X3DChildNodegetMetadata in interface X3DNodegetMetadata in interface X3DPrototypeInstancepublic ProtoInstanceObject setMetadata(X3DMetadataObject newValue)
setMetadata in interface ProtoInstancesetMetadata in interface X3DChildNodesetMetadata in interface X3DNodesetMetadata in interface X3DPrototypeInstancesetMetadata in class X3DConcreteNodenewValue - is new value for the metadata field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject clearMetadata()
ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive
setAttribute method invocations).public ProtoInstanceObject setMetadata(ProtoInstanceObject newValue)
setMetadata in class X3DConcreteNodenewValue - is new value for the metadata field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).setMetadata(X3DMetadataObject)public boolean hasMetadata()
getMetadata(),
getMetadataProtoInstance(),
X3D Scene Authoring Hints: Metadata Nodespublic java.lang.String getName()
getName in interface ProtoInstancepublic final ProtoInstanceObject setName(java.lang.String newValue)
setName in interface ProtoInstancenewValue - is new value for the name field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject setName(SFStringObject newValue)
setName(String).newValue - is new value for the name field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public final ProtoInstanceObject setDEF(java.lang.String newValue)
setDEF in interface ProtoInstancesetDEF in interface X3DChildNodesetDEF in interface X3DNodesetDEF in class X3DConcreteNodenewValue - is new value for the DEF field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject setDEF(SFStringObject newValue)
setDEF(String).newValue - is new value for the DEF field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public final ProtoInstanceObject setUSE(java.lang.String newValue)
USE node is still an independent object, with the USE value matching the DEF value in the preceding object.
setUSE() method on this node resets all other fields to their default values (except for containerField) and also releases all child nodes.setUSE in interface ProtoInstancesetUSE in interface X3DChildNodesetUSE in interface X3DNodesetUSE in class X3DConcreteNodenewValue - is new value for the USE field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject setUSE(SFStringObject newValue)
setUSE(String).newValue - is new value for the USE field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public final ProtoInstanceObject setCssClass(java.lang.String newValue)
setCssClass in interface ProtoInstancesetCssClass in interface X3DChildNodesetCssClass in interface X3DNodesetCssClass in class X3DConcreteNodenewValue - is new value for the class field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject setCssClass(SFStringObject newValue)
setCssClass(String).newValue - is new value for the class field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ProtoInstanceObject setIS(ISObject newValue)
setIS in class X3DConcreteNodenewValue - is new value for the description field.ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public ISObject getIS()
getIS in class X3DConcreteNodepublic ProtoInstanceObject setUSE(ProtoInstanceObject DEFnode)
setUSE(String).
setUSE() method on this node resets all other fields to their default values (except for containerField) and also releases all child nodes.
DEFnode - must have a DEF value definedProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public java.lang.String getContainerField()
X3DConcreteNode.setContainerFieldOverride(String),
X3D Tooltips: ProtoInstance.containerField,
X3D Scene Authoring Hints: containerFieldpublic ProtoInstanceObject setContainerField(java.lang.String containerFieldName)
containerFieldName - overriding valueProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).X3DConcreteNode.setContainerFieldOverride(String),
X3D Tooltips: ProtoInstance.containerField,
X3D Scene Authoring Hints: containerFieldpublic java.lang.String getOriginalName()
ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).public boolean hasProtoDeclare()
ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).hasExternProtoDeclare(),
getProtoDeclare(),
getExternProtoDeclare()public boolean hasExternProtoDeclare()
ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).hasProtoDeclare(),
getProtoDeclare(),
getExternProtoDeclare()public ProtoDeclareObject getProtoDeclare()
ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).hasProtoDeclare(),
hasExternProtoDeclare(),
getExternProtoDeclare()public ExternProtoDeclareObject getExternProtoDeclare()
ProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).hasProtoDeclare(),
hasExternProtoDeclare(),
getProtoDeclare()public java.lang.String getNodeType()
ProtoDeclareObject.getNodeType(),
ProtoBodyObject.getNodeType(),
ExternProtoDeclareObject.getNodeType(),
SceneObjectpublic ProtoInstanceObject addComments(java.lang.String newComment)
addComments in class X3DConcreteElementnewComment - initial valueProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive
setAttribute method invocations).public ProtoInstanceObject addComments(java.lang.String[] newComments)
addComments in class X3DConcreteElementnewComments - array of commentsProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive
setAttribute method invocations).public ProtoInstanceObject addComments(CommentsBlock newCommentsBlock)
addComments in class X3DConcreteElementnewCommentsBlock - block of comments to addProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive
setAttribute method invocations).public java.lang.String toStringX3D(int indentLevel)
toStringX3D in class X3DConcreteElementindentLevel - number of levels of indentation for this elementX3DObject.FILE_EXTENSION_X3D,
X3DObject.FILE_EXTENSION_XML,
X3DObject.toStringXML(),
X3DObject.toFileXML(String),
X3DObject.toFileX3D(String),
X3D XML Encoding,
X3D Compressed Binary Encoding: X3D Canonical Formpublic java.lang.String toStringClassicVRML(int indentLevel)
toStringClassicVRML in class X3DConcreteElementindentLevel - number of levels of indentation for this elementX3DObject.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: Grammarpublic java.lang.String toStringVRML97(int indentLevel)
toStringVRML97 in class X3DConcreteElementindentLevel - number of levels of indentation for this elementX3DObject.FILE_EXTENSION_VRML97,
X3D Resources: Virtual Reality Modeling Language (VRML) 97,
Virtual Reality Modeling Language (VRML) 97 specification,
VRML 97 v2.1 Amendmentpublic X3DConcreteElement findElementByNameValue(java.lang.String nameValue)
findElementByNameValue in class X3DConcreteElementnameValue - is value of the name field being searched for in this element and child elements(if any)findNodeByDEF(String),
X3DConcreteElement.hasAncestorSceneObject(),
X3DConcreteElement.findAncestorX3DObject()public X3DConcreteElement findElementByNameValue(java.lang.String nameValue, java.lang.String elementName)
findElementByNameValue in class X3DConcreteElementnameValue - 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.)findNodeByDEF(String),
X3DConcreteElement.hasAncestorSceneObject(),
X3DConcreteElement.findAncestorX3DObject()public boolean hasElementByNameValue(java.lang.String nameValue,
java.lang.String elementName)
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.)findElementByNameValue(String, String)public X3DConcreteNode findNodeByDEF(java.lang.String DEFvalue)
findNodeByDEF in class X3DConcreteElementDEFvalue - is value of the name field being searched for in this element and child elements(if any)findElementByNameValue(String),
X3DConcreteElement.hasAncestorSceneObject(),
X3DConcreteElement.findAncestorX3DObject()public boolean hasNodeByDEF(java.lang.String DEFvalue)
DEFvalue - is value of the name field being searched for in this element and child elements(if any)findNodeByDEF(String)public java.lang.String validate()
validate in class X3DConcreteElementpublic ProtoInstanceObject addFieldValue(fieldValueObject newFieldValue)
newFieldValue - is fieldValue to addProtoInstanceObject - namely this same object to allow sequential method pipelining (i.e. consecutive
setAttribute method invocations).public fieldValueObject findFieldValueByName(java.lang.String fieldValueName)
fieldValueName - is name attribute for fieldValue of interestpublic boolean removeFieldValue(fieldValueObject fieldValueToRemove)
fieldValueToRemove - matching fieldValue of interestremoveFieldValue(String)public boolean removeFieldValue(java.lang.String fieldValueName)
fieldValueName - matching fieldValue of interestremoveFieldValue(fieldValueObject)public void clearFieldValues()
public boolean hasFieldValue(java.lang.String fieldValueName)
fieldValueName - is name attribute for fieldValue of interestCopyright ©2005-2017 Web3D Consortium under an open-source license, free for any use. Feedback is welcome.