Class X3DLoaderDOM

    • Constructor Summary

      Constructors 
      Constructor Description
      X3DLoaderDOM()
      Default constructor to initialize X3DLoaderDOM
    • Method Summary

      Modifier and Type Method Description
      org.w3c.dom.Document getDomDocument()
      Provide DOM document version of externally loaded X3D file
      java.lang.String getValidationResult()
      Provide detailed log of validation results following loading and serialization
      X3DConcreteElement getX3dObjectTree()
      Provide X3DJSAIL object tree if loading succeeds
      boolean isDtdValidationPerformed()
      Accessor method indicating whether DTD validation is performed when loading an X3D file
      boolean isLoadSuccessful()
      Accessor method to indicate whether loading was successful and loaded X3dObjectTree is available
      boolean isXmlSchemaValidationPerformed()
      Accessor method indicating whether DTD validation is performed when loading an X3D file
      boolean loadModelFromFileX3D​(java.io.File x3dFile)
      Load the XML X3D file using DOM, report success
      boolean loadModelFromFileX3D​(java.lang.String fileName)
      Load the XML X3D file using DOM, report whether successful.
      boolean loadModelFromFileX3D​(java.lang.String path, java.lang.String fileName)
      Load the XML X3D file using DOM, report whether successful.
      void setDtdValidationPerformed​(boolean newDtdValidationValue)
      Accessor method to set whether DTD validation is performed when loading an X3D file, reconfiguring documentBuilderFactory
      void setXmlSchemaValidation​(boolean newXmlSchemaValidationValue)
      Accessor method to set whether XML Schema validation is performed when loading an X3D file, reconfiguring documentBuilderFactory
      java.lang.String toStringX3D​(org.w3c.dom.Node node)
      Convenience method, use DOM to create X3D string from a previously loaded document with default zero indent.
      X3DConcreteElement toX3dObjectTree​(org.w3c.dom.Node node)
      Recursive method that uses DOM to create X3DJSAIL objects from a previously loaded document, taking advantage of Java Reflection and String-based field accessors with protected access that are not otherwise usable.
      X3DConcreteElement toX3dObjectTree​(org.w3c.dom.Node node, X3DConcreteElement parentElement)
      Recursive method that uses DOM to create X3DJSAIL objects from a previously loaded document, taking advantage of Java Reflection and String-based field accessors with protected access that are not otherwise usable.
      • Methods inherited from class java.lang.Object

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

      • DEFAULT_DTD_VALIDATE

        public final boolean DEFAULT_DTD_VALIDATE
        Default dtdValidate value for documentBuilderFactory
        See Also:
        Constant Field Values
      • DEFAULT_XSD_VALIDATE

        public final boolean DEFAULT_XSD_VALIDATE
        Default xsdValidate value for documentBuilderFactory
        See Also:
        Constant Field Values
      • indentLevel

        protected java.lang.String indentLevel
      • lineBreakWidth

        protected int lineBreakWidth
    • Constructor Detail

      • X3DLoaderDOM

        public X3DLoaderDOM()
        Default constructor to initialize X3DLoaderDOM
    • Method Detail

      • loadModelFromFileX3D

        public boolean loadModelFromFileX3D​(java.lang.String fileName)
        Load the XML X3D file using DOM, report whether successful. Fails if file is empty.
        Parameters:
        fileName - path and name of .x3d or .xml file (XML encoding)
        Returns:
        whether successful
        See Also:
        loadModelFromFileX3D(File)
      • loadModelFromFileX3D

        public boolean loadModelFromFileX3D​(java.lang.String path,
                                            java.lang.String fileName)
        Load the XML X3D file using DOM, report whether successful. Fails if file is empty.
        Parameters:
        path - directory path to file of interest
        fileName - path and name of .x3d or .xml file (XML encoding)
        Returns:
        whether successful
        See Also:
        loadModelFromFileX3D(File)
      • loadModelFromFileX3D

        public boolean loadModelFromFileX3D​(java.io.File x3dFile)
        Load the XML X3D file using DOM, report success
        Parameters:
        x3dFile - existing x3d file (XML encoding)
        Returns:
        whether successful
        See Also:
        loadModelFromFileX3D(String)
      • getDomDocument

        public org.w3c.dom.Document getDomDocument()
        Provide DOM document version of externally loaded X3D file
        Returns:
        the DOM document, if XML-encoded X3D file was successfully loaded
      • toStringX3D

        public java.lang.String toStringX3D​(org.w3c.dom.Node node)
        Convenience method, use DOM to create X3D string from a previously loaded document with default zero indent. X3D output is XML encoding.
        Parameters:
        node - DOM Node to process
        Returns:
        the loaded X3D document of interest, starting with regular X3D element headers or possibly a scene fragment
        See Also:
        X3DObject.FILE_EXTENSION_X3D, X3DObject.FILE_EXTENSION_XML
      • toX3dObjectTree

        public X3DConcreteElement toX3dObjectTree​(org.w3c.dom.Node node)
        Recursive method that uses DOM to create X3DJSAIL objects from a previously loaded document, taking advantage of Java Reflection and String-based field accessors with protected access that are not otherwise usable.
        Parameters:
        node - DOM Node to process
        Returns:
        the loaded X3D objects of interest, starting with regular X3DObject or possibly a scene fragment
        See Also:
        Java Tutorials: Reflection API, Java Reflection in Action
      • toX3dObjectTree

        public X3DConcreteElement toX3dObjectTree​(org.w3c.dom.Node node,
                                                  X3DConcreteElement parentElement)
        Recursive method that uses DOM to create X3DJSAIL objects from a previously loaded document, taking advantage of Java Reflection and String-based field accessors with protected access that are not otherwise usable.
        Parameters:
        node - DOM Node to process
        parentElement - the parent of this scene object, if any
        Returns:
        the loaded X3D objects of interest, starting with regular X3DObject or possibly a scene fragment
        See Also:
        Java Tutorials: Reflection API, Java Reflection in Action
      • isDtdValidationPerformed

        public boolean isDtdValidationPerformed()
        Accessor method indicating whether DTD validation is performed when loading an X3D file
        Returns:
        whether XML DTD validation is performed when loading an X3D file
      • setDtdValidationPerformed

        public void setDtdValidationPerformed​(boolean newDtdValidationValue)
        Accessor method to set whether DTD validation is performed when loading an X3D file, reconfiguring documentBuilderFactory
        Parameters:
        newDtdValidationValue - whether DTD validation is performed
      • isXmlSchemaValidationPerformed

        public boolean isXmlSchemaValidationPerformed()
        Accessor method indicating whether DTD validation is performed when loading an X3D file
        Returns:
        whether XML Schema validation is performed when loading an X3D file
      • setXmlSchemaValidation

        public void setXmlSchemaValidation​(boolean newXmlSchemaValidationValue)
        Accessor method to set whether XML Schema validation is performed when loading an X3D file, reconfiguring documentBuilderFactory
        Parameters:
        newXmlSchemaValidationValue - whether XML Schema validation is performed
      • getX3dObjectTree

        public X3DConcreteElement getX3dObjectTree()
        Provide X3DJSAIL object tree if loading succeeds
        Returns:
        X3D object tree if loading was successful, null otherwise
      • isLoadSuccessful

        public boolean isLoadSuccessful()
        Accessor method to indicate whether loading was successful and loaded X3dObjectTree is available
        Returns:
        whether loading was successful
      • getValidationResult

        public java.lang.String getValidationResult()
        Provide detailed log of validation results following loading and serialization
        Returns:
        validationResult log following loading and serialization