Class JAXBUtils


  • public class JAXBUtils
    extends Object
    JAXB Utilites to pool JAXBContext and related objects.
    • Field Detail

      • DEFAULT_NAMESPACE_REMAP

        public static final String DEFAULT_NAMESPACE_REMAP
    • Constructor Detail

      • JAXBUtils

        public JAXBUtils()
    • Method Detail

      • getJAXBContext

        public static JAXBContext getJAXBContext​(TreeSet<String> contextPackages,
                                                 ClassLoader cacheKey)
                                          throws JAXBException
        Deprecated.
        Get a JAXBContext for the class Note: The contextPackage object is used by multiple threads. It should be considered immutable and not altered by this method.
        Parameters:
        contextPackage - Set
        cacheKey - ClassLoader
        Returns:
        JAXBContext
        Throws:
        JAXBException
      • getJAXBContext

        public static JAXBContext getJAXBContext​(TreeSet<String> contextPackages,
                                                 Holder<JAXBUtils.CONSTRUCTION_TYPE> constructionType,
                                                 String key,
                                                 ClassLoader cacheKey,
                                                 Map<String,​?> properties)
                                          throws JAXBException
        Get a JAXBContext for the class Note: The contextPackage object is used by multiple threads. It should be considered immutable and not altered by this method.
        Parameters:
        contextPackage - Set
        contructionType - (output value that indicates how the context was constructed)
        cacheKey - ClassLoader
        Returns:
        JAXBContext
        Throws:
        JAXBException
      • getJAXBContext

        public static JAXBContext getJAXBContext​(TreeSet<String> contextPackages,
                                                 Holder<JAXBUtils.CONSTRUCTION_TYPE> constructionType,
                                                 boolean forceArrays,
                                                 String key,
                                                 ClassLoader cacheKey,
                                                 Map<String,​?> properties)
                                          throws JAXBException
        Get a JAXBContext for the class Note: The contextPackage object is used by multiple threads. It should be considered immutable and not altered by this method.
        Parameters:
        contextPackage - Set
        contructionType - (output value that indicates how the context was constructed)
        forceArrays - (forces the returned JAXBContext to include the array types)
        cacheKey - ClassLoader
        Returns:
        JAXBContext
        Throws:
        JAXBException
      • pruneDirectives

        protected static List<String> pruneDirectives​(TreeSet<String> contextPackages)
        The contextPackages may declare overrides. Example: "com.A" "com.B" "com.C" "@com.A" <-- Indicates a reference to a class (versus ns 2 pkg conversion) "com.A > com.B" <-- This says com.A overrides com.B This method prunes the overrides and overriden packages. Example return: "com.A" "com.C"
        Parameters:
        contextPackages -
        Returns:
        List class references
      • getJAXBUnmarshaller

        public static Unmarshaller getJAXBUnmarshaller​(JAXBContext context)
                                                throws JAXBException
        Get the unmarshaller. You must call releaseUnmarshaller to put it back into the pool
        Parameters:
        context - JAXBContext
        Returns:
        Unmarshaller
        Throws:
        JAXBException
      • releaseJAXBUnmarshaller

        public static void releaseJAXBUnmarshaller​(JAXBContext context,
                                                   Unmarshaller unmarshaller)
        Release Unmarshaller Do not call this method if an exception occurred while using the Unmarshaller. We object my be in an invalid state.
        Parameters:
        context - JAXBContext
        unmarshaller - Unmarshaller
      • releaseJAXBMarshaller

        public static void releaseJAXBMarshaller​(JAXBContext context,
                                                 Marshaller marshaller)
        releaseJAXBMarshalller Do not call this method if an exception occurred while using the Marshaller. We don't want an object in an invalid state.
        Parameters:
        context - JAXBContext
        marshaller - Marshaller
      • releaseJAXBIntrospector

        public static void releaseJAXBIntrospector​(JAXBContext context,
                                                   JAXBIntrospector introspector)
        Release JAXBIntrospector Do not call this method if an exception occurred while using the JAXBIntrospector. We object my be in an invalid state.
        Parameters:
        context - JAXBContext
        introspector - JAXBIntrospector