Interface XMLClassDescriptorResolver

  • All Superinterfaces:
    ClassDescriptorResolver
    All Known Implementing Classes:
    XMLClassDescriptorResolverImpl

    public interface XMLClassDescriptorResolver
    extends ClassDescriptorResolver
    An interface for finding or "resolving" XMLClassDescriptor classes.
    Note: This interface is used by the marshalling Framework for resolving XMLClassDescriptors for non-primitive types. There are no guarantees that this class will be called for java native classes.
    Version:
    $Revision: 5951 $ $Date: 2005-02-28 17:41:38 -0700 (Mon, 28 Feb 2005) $
    Author:
    Keith Visco
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void addClass​(java.lang.Class<?> clazz)
      Loads the class descriptor for the class instance specified.
      void addClass​(java.lang.String className)
      Loads the class descriptor for the class instance specified.
      void addClasses​(java.lang.Class<?>[] clazzes)
      Loads the class descriptors for the class instances specified.
      void addClasses​(java.lang.String[] classNames)
      Loads the class descriptors for the class instances specified.
      void addPackage​(java.lang.String packageName)
      Loads class descriptors from the package specified.
      void addPackages​(java.lang.String[] packageNames)
      Loads class descriptors from the packages specified.
      void cleanDescriptorCache()
      To clear the descriptor cache.
      void loadClassDescriptors​(java.lang.String packageName)
      Deprecated.
      Please use e.g.
      XMLClassDescriptor resolve​(java.lang.String className)
      Returns the XMLClassDescriptor for the given class name.
      XMLClassDescriptor resolve​(java.lang.String className, java.lang.ClassLoader loader)
      Returns the XMLClassDescriptor for the given class name.
      java.util.Iterator<ClassDescriptor> resolveAllByXMLName​(java.lang.String xmlName, java.lang.String namespaceURI, java.lang.ClassLoader loader)
      Returns an enumeration of XMLClassDescriptor objects that match the given xml name.
      XMLClassDescriptor resolveByXMLName​(java.lang.String xmlName, java.lang.String namespaceURI, java.lang.ClassLoader loader)
      Returns the first XMLClassDescriptor that matches the given XML name and namespaceURI.
      void setClassLoader​(java.lang.ClassLoader loader)
      Sets the ClassLoader to use when loading class descriptors.
      void setInternalContext​(InternalContext xmlContext)
      To set the XMLContext to be used.
      void setIntrospector​(Introspector introspector)
      To set the Introspector to be used.
      void setLoadPackageMappings​(boolean loadPackageMappings)
      Sets whether or not to look for and load package specific mapping files (".castor.xml").
      void setResolverStrategy​(ResolverStrategy resolverStrategy)
      The resolver strategy to use for class and package resolving.
      void setUseIntrospection​(boolean enable)
      Enables or disables introspection.
    • Method Detail

      • setInternalContext

        void setInternalContext​(InternalContext xmlContext)
        To set the XMLContext to be used.
        Parameters:
        xmlContext - the XMLContext to be used
      • setUseIntrospection

        void setUseIntrospection​(boolean enable)
        Enables or disables introspection. Introspection is enabled by default.
        Parameters:
        enable - a flag to indicate whether or not introspection is allowed.
      • setLoadPackageMappings

        void setLoadPackageMappings​(boolean loadPackageMappings)
        Sets whether or not to look for and load package specific mapping files (".castor.xml").
        Parameters:
        loadPackageMappings - a boolean that enables or disables the loading of package specific mapping files
      • setClassLoader

        void setClassLoader​(java.lang.ClassLoader loader)
        Sets the ClassLoader to use when loading class descriptors.
        Parameters:
        loader - the ClassLoader to use
      • setResolverStrategy

        void setResolverStrategy​(ResolverStrategy resolverStrategy)
        The resolver strategy to use for class and package resolving. Will set the current attributes into the new strategy.
        Parameters:
        resolverStrategy - the ResolverStrategy to use for resolve calls
      • setIntrospector

        void setIntrospector​(Introspector introspector)
        To set the Introspector to be used. It is stored as attribute of resolver and set as property into the current strategy.
        Parameters:
        introspector - the Introspector to use
      • resolve

        XMLClassDescriptor resolve​(java.lang.String className)
                            throws ResolverException
        Returns the XMLClassDescriptor for the given class name.
        Parameters:
        className - the class name to find the XMLClassDescriptor for
        Returns:
        the XMLClassDescriptor for the given class name
        Throws:
        ResolverException - in case that resolving fails unrecoverable
      • resolve

        XMLClassDescriptor resolve​(java.lang.String className,
                                   java.lang.ClassLoader loader)
                            throws ResolverException
        Returns the XMLClassDescriptor for the given class name.
        Parameters:
        className - the class name to find the XMLClassDescriptor for
        loader - the ClassLoader to use
        Returns:
        the XMLClassDescriptor for the given class name
        Throws:
        ResolverException - in case that resolving fails unrecoverable
      • resolveByXMLName

        XMLClassDescriptor resolveByXMLName​(java.lang.String xmlName,
                                            java.lang.String namespaceURI,
                                            java.lang.ClassLoader loader)
                                     throws ResolverException
        Returns the first XMLClassDescriptor that matches the given XML name and namespaceURI. Null is returned if no descriptor can be found.
        Parameters:
        xmlName - The class name to find the XMLClassDescriptor for.
        namespaceURI - The namespace URI to identify the XMLClassDescriptor.
        loader - The ClassLoader to use.
        Returns:
        The XMLClassDescriptor for the given XML name.
        Throws:
        ResolverException - in case that resolving fails unrecoverable
      • resolveAllByXMLName

        java.util.Iterator<ClassDescriptor> resolveAllByXMLName​(java.lang.String xmlName,
                                                                java.lang.String namespaceURI,
                                                                java.lang.ClassLoader loader)
                                                         throws ResolverException
        Returns an enumeration of XMLClassDescriptor objects that match the given xml name.
        Parameters:
        xmlName - The class name to find the XMLClassDescriptor for.
        namespaceURI - The namespace URI to identify the XMLClassDescriptor.
        loader - The ClassLoader to use.
        Returns:
        An Iterator of XMLClassDescriptor objects.
        Throws:
        ResolverException - in case that resolving fails unrecoverable
      • addClass

        void addClass​(java.lang.String className)
               throws ResolverException
        Loads the class descriptor for the class instance specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).
        Parameters:
        className - Name of the class for which the associated descriptor should be loaded.
        Throws:
        ResolverException - If there's an unrecoverable problem with resolving a certain class.
      • addClasses

        void addClasses​(java.lang.String[] classNames)
                 throws ResolverException
        Loads the class descriptors for the class instances specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).
        Parameters:
        classNames - Names of the classes for which the associated descriptors should be loaded.
        Throws:
        ResolverException - If there's an unrecoverable problem with resolving a certain class.
      • addClass

        void addClass​(java.lang.Class<?> clazz)
               throws ResolverException
        Loads the class descriptor for the class instance specified. The use of this method is useful when no mapping is used, as happens when the domain classes have been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).
        Parameters:
        clazz - Class for which the associated descriptor should be loaded.
        Throws:
        ResolverException - If there's an unrecoverable problem with resolving a certain class.
      • addClasses

        void addClasses​(java.lang.Class<?>[] clazzes)
                 throws ResolverException
        Loads the class descriptors for the class instances specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).
        Parameters:
        clazzes - Classes for which the associated descriptors should be loaded.
        Throws:
        ResolverException - If there's an unrecoverable problem with resolving a certain class.
      • addPackage

        void addPackage​(java.lang.String packageName)
                 throws ResolverException
        Loads class descriptors from the package specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).

        Please note that this functionality will work only if you provide the .castor.cdr file with your generated classes (as generated by the XML code generator).

        Parameters:
        packageName - The package name for the (descriptor) classes
        Throws:
        ResolverException - If there's a problem loading class descriptors for the given package.
      • addPackages

        void addPackages​(java.lang.String[] packageNames)
                  throws ResolverException
        Loads class descriptors from the packages specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).

        Please note that this functionality will work only if you provide the .castor.cdr files with your generated classes (as generated by the XML code generator).

        Parameters:
        packageNames - The package names for the (descriptor) classes
        Throws:
        ResolverException - If there's a problem loading class descriptors for the given package.
      • loadClassDescriptors

        void loadClassDescriptors​(java.lang.String packageName)
                           throws ResolverException
        Deprecated.
        Please use e.g. #addPackage(String) instead.
        Loads class descriptors from the package specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).

        Please note that this functionality will work only if you provide the .castor.cdr file with your generated classes (as generated by the XML code generator).

        Parameters:
        packageName - The package name for the (descriptor) classes
        Throws:
        ResolverException - If there's a problem loading class descriptors for the given package.
      • cleanDescriptorCache

        void cleanDescriptorCache()
        To clear the descriptor cache.
        Since:
        1.1.3