Class DynamicJAXBContext

java.lang.Object
jakarta.xml.bind.JAXBContext
org.eclipse.persistence.jaxb.JAXBContext
org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext

public class DynamicJAXBContext extends JAXBContext

A specialized JAXBContext for marshalling and unmarshalling DynamicEntities.

DynamicJAXBContext also provides methods to:

  • get the DynamicType associated with a given Java name
  • get the DynamicType associated with a given XML name
  • create a new DynamicEntity given the Java name of its DynamicType
  • create a new DynamicEntity given the XML name of its DynamicType

New instances of DynamicJAXBContext must be created with DynamicJAXBContextFactory.

See Also:
Author:
rbarkhouse
  • Method Details

    • getDynamicClassLoader

      public DynamicClassLoader getDynamicClassLoader()
    • getDynamicType

      public DynamicType getDynamicType(String javaName)
      Obtain a reference to the DynamicType object for a given Java name. If one has not been generated, this method will return null.
      Parameters:
      javaName - A Java class name, used to look up its DynamicType.
      Returns:
      The DynamicType for this Java class name.
    • newDynamicEntity

      public DynamicEntity newDynamicEntity(String javaName) throws IllegalArgumentException
      Create a new instance of DynamicEntity for a given Java name. If a DynamicType for this Java class name has not been generated, this method will return null.
      Parameters:
      javaName - The Java class name to create a new DynamicEntity for.
      Returns:
      A new DynamicEntity for this Java class name.
      Throws:
      IllegalArgumentException
    • newDynamicEntity

      public DynamicEntity newDynamicEntity(DynamicType dynamicType)
      Create a new instance of DynamicEntity for a given DynamicType.
      Parameters:
      dynamicType - The DynamicType to create a new DynamicEntity for.
      Returns:
      A new DynamicEntity for this DynamicType.
    • getEnumConstant

      public Object getEnumConstant(String enumName, String constantName) throws ClassNotFoundException, jakarta.xml.bind.JAXBException
      Returns the constant named constantName from the enum class specified by enumName.
      Parameters:
      enumName - Java class name of an enum.
      constantName - Name of the constant to get from the specified enum.
      Returns:
      An Object, the constant from the specified enum.
      Throws:
      ClassNotFoundException
      jakarta.xml.bind.JAXBException