Class X3DLoaderDOM

java.lang.Object
org.web3d.x3d.jsail.X3DLoaderDOM

public class X3DLoaderDOM extends Object
Concrete class for loading an X3D graphics string, file or fragment, encoded in XML, using the Document Object Model (DOM).

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final boolean
    Default dtdValidate value for documentBuilderFactory
    final boolean
    Default xsdValidate value for documentBuilderFactory
    protected String
    indentation string is 2 blank characters
    protected int
    lineBreakWidth is line length before breaking onto a new line for readability
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor to initialize X3DLoaderDOM
  • Method Summary

    Modifier and Type
    Method
    Description
    Provide DOM document version of externally loaded X3D file
    Provide detailed log of validation results following loading and serialization
    Provide X3DJSAIL object tree if loading succeeds
    boolean
    Accessor method indicating whether DTD validation is performed when loading an X3D file
    boolean
    Accessor method to indicate whether loading was successful and loaded X3dObjectTree is available
    boolean
    Accessor method indicating whether DTD validation is performed when loading an X3D file
    boolean
    Load the XML X3D file using DOM, report success
    boolean
    Load the XML X3D file using DOM, report whether successful.
    boolean
    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
    Convenience method, use DOM to create X3D string from a previously loaded document with default zero indent.
    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.
    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 Details

    • DEFAULT_DTD_VALIDATE

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

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

      protected String indentLevel
      indentation string is 2 blank characters
    • lineBreakWidth

      protected int lineBreakWidth
      lineBreakWidth is line length before breaking onto a new line for readability
  • Constructor Details

    • X3DLoaderDOM

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

    • loadModelFromFileX3D

      public boolean loadModelFromFileX3D(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

      public boolean loadModelFromFileX3D(String path, 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

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

      public 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 String toStringX3D(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:
    • toX3dModelInstance

      public X3DConcreteElement toX3dModelInstance(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 X3D object or possibly a scene fragment
      See Also:
    • toX3dModelInstance

      public X3DConcreteElement toX3dModelInstance(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 X3D object or possibly a scene fragment
      See Also:
    • 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 String getValidationResult()
      Provide detailed log of validation results following loading and serialization
      Returns:
      validationResult log following loading and serialization