Class CatalogManager


  • public class CatalogManager
    extends java.lang.Object
    CatalogManager provides an interface to the catalog properties.

    Properties can come from two places: from system properties or from a CatalogManager.properties file. This class provides a transparent interface to both, with system properties preferred over property file values.

    The following table summarizes the properties:

    System Property CatalogManager.properties
    Property
    Description
    xml.catalog.ignoreMissing   If true, a missing CatalogManager.properties file or missing properties within that file will not generate warning messages. See also the ignoreMissingProperties method.
    xml.catalog.files catalogs The semicolon-delimited list of catalog files.
      relative-catalogs If false, relative catalog URIs are made absolute with respect to the base URI of the CatalogManager.properties file. This setting only applies to catalog URIs obtained from the catalogs property in the CatalogManager.properties file
    xml.catalog.verbosity verbosity If non-zero, the Catalog classes will print informative and debugging messages. The higher the number, the more messages.
    xml.catalog.prefer prefer Which identifier is preferred, "public" or "system"?
    xml.catalog.staticCatalog static-catalog Should a single catalog be constructed for all parsing, or should a different catalog be created for each parser?
    xml.catalog.allowPI allow-oasis-xml-catalog-pi If the source document contains "oasis-xml-catalog" processing instructions, should they be used?
    xml.catalog.className catalog-class-name If you're using the convenience classes org.apache.xml.resolver.tools.*), this setting allows you to specify an alternate class name to use for the underlying catalog.
    Version:
    1.0
    See Also:
    Catalog
    • Field Detail

      • pFiles

        private static java.lang.String pFiles
      • pVerbosity

        private static java.lang.String pVerbosity
      • pPrefer

        private static java.lang.String pPrefer
      • pStatic

        private static java.lang.String pStatic
      • pAllowPI

        private static java.lang.String pAllowPI
      • pClassname

        private static java.lang.String pClassname
      • pIgnoreMissing

        private static java.lang.String pIgnoreMissing
      • staticManager

        private static CatalogManager staticManager
        A static CatalogManager instance for sharing
      • bResolver

        private BootstrapResolver bResolver
        The bootstrap resolver to use when loading XML Catalogs.
      • ignoreMissingProperties

        private boolean ignoreMissingProperties
        Flag to ignore missing property files and/or properties
      • resources

        private java.util.ResourceBundle resources
        Holds the resources after they are loaded from the file.
      • propertyFile

        private java.lang.String propertyFile
        The name of the CatalogManager properties file.
      • propertyFileURI

        private java.net.URL propertyFileURI
        The location of the propertyFile
      • defaultCatalogFiles

        private java.lang.String defaultCatalogFiles
        Default catalog files list.
      • catalogFiles

        private java.lang.String catalogFiles
        Current catalog files list.
      • fromPropertiesFile

        private boolean fromPropertiesFile
        Did the catalgoFiles come from the properties file?
      • defaultVerbosity

        private int defaultVerbosity
        Default verbosity level if there is no property setting for it.
      • verbosity

        private java.lang.Integer verbosity
        Current verbosity level.
      • defaultPreferPublic

        private boolean defaultPreferPublic
        Default preference setting.
      • preferPublic

        private java.lang.Boolean preferPublic
        Current preference setting.
      • defaultUseStaticCatalog

        private boolean defaultUseStaticCatalog
        Default setting of the static catalog flag.
      • useStaticCatalog

        private java.lang.Boolean useStaticCatalog
        Current setting of the static catalog flag.
      • staticCatalog

        private static Catalog staticCatalog
        The static catalog used by this manager.
      • defaultOasisXMLCatalogPI

        private boolean defaultOasisXMLCatalogPI
        Default setting of the oasisXMLCatalogPI flag.
      • oasisXMLCatalogPI

        private java.lang.Boolean oasisXMLCatalogPI
        Current setting of the oasisXMLCatalogPI flag.
      • defaultRelativeCatalogs

        private boolean defaultRelativeCatalogs
        Default setting of the relativeCatalogs flag.
      • relativeCatalogs

        private java.lang.Boolean relativeCatalogs
        Current setting of the relativeCatalogs flag.
      • catalogClassName

        private java.lang.String catalogClassName
        Current catalog class name.
      • debug

        public Debug debug
        The manager's debug object. Used for printing debugging messages.

        This field is public so that objects that have access to this CatalogManager can use this debug object.

    • Constructor Detail

      • CatalogManager

        public CatalogManager()
        Constructor.
      • CatalogManager

        public CatalogManager​(java.lang.String propertyFile)
        Constructor that specifies an explicit property file.
        Parameters:
        propertyFile -
    • Method Detail

      • setBootstrapResolver

        public void setBootstrapResolver​(BootstrapResolver resolver)
        Set the bootstrap resolver.
        Parameters:
        resolver -
      • getBootstrapResolver

        public BootstrapResolver getBootstrapResolver()
        Returns:
        the bootstrap resolver.
      • readProperties

        private void readProperties()
        Load the properties from the propertyFile and build the resources from it.
      • getStaticManager

        public static CatalogManager getStaticManager()
        Allow access to the static CatalogManager
        Returns:
        the catalog manager
      • getIgnoreMissingProperties

        public boolean getIgnoreMissingProperties()
        How are missing properties handled?

        If true, missing or unreadable property files will not be reported. Otherwise, a message will be sent to System.err.

        Returns:
        the value
      • setIgnoreMissingProperties

        public void setIgnoreMissingProperties​(boolean ignore)
        How should missing properties be handled?

        If ignore is true, missing or unreadable property files will not be reported. Otherwise, a message will be sent to System.err.

        Parameters:
        ignore -
      • ignoreMissingProperties

        public void ignoreMissingProperties​(boolean ignore)
        Deprecated.
        No longer static; use get/set methods.
        How are missing properties handled?

        If ignore is true, missing or unreadable property files will not be reported. Otherwise, a message will be sent to System.err.

        Parameters:
        ignore -
      • queryVerbosity

        private int queryVerbosity()
        Obtain the verbosity setting from the properties.
        Returns:
        The verbosity level from the propertyFile or the defaultVerbosity.
      • getVerbosity

        public int getVerbosity()
        Returns:
        the current verbosity?
      • setVerbosity

        public void setVerbosity​(int verbosity)
        Set the current verbosity.
        Parameters:
        verbosity -
      • verbosity

        public int verbosity()
        Deprecated.
        No longer static; use get/set methods.
        Returns:
        the current verbosity?
      • queryRelativeCatalogs

        private boolean queryRelativeCatalogs()
        Obtain the relativeCatalogs setting from the properties.
        Returns:
        The relativeCatalogs setting from the propertyFile or the defaultRelativeCatalogs.
      • getRelativeCatalogs

        public boolean getRelativeCatalogs()
        Get the relativeCatalogs setting.

        This property is used when the catalogFiles property is interrogated. If true, then relative catalog entry file names are returned. If false, relative catalog entry file names are made absolute with respect to the properties file before returning them.

        This property only applies when the catalog files come from a properties file. If they come from a system property or the default list, they are never considered relative. (What would they be relative to?)

        In the properties, a value of 'yes', 'true', or '1' is considered true, anything else is false.

        Returns:
        The relativeCatalogs setting from the propertyFile or the defaultRelativeCatalogs.
      • setRelativeCatalogs

        public void setRelativeCatalogs​(boolean relative)
        Set the relativeCatalogs setting.
        Parameters:
        relative -
        See Also:
        getRelativeCatalogs()
      • relativeCatalogs

        public boolean relativeCatalogs()
        Deprecated.
        No longer static; use get/set methods.
        Returns:
        the relativeCatalogs setting.
      • queryCatalogFiles

        private java.lang.String queryCatalogFiles()
        Obtain the list of catalog files from the properties.
        Returns:
        A semicolon delimited list of catlog file URIs
      • getCatalogFiles

        public java.util.Vector getCatalogFiles()
        Return the current list of catalog files.
        Returns:
        A vector of the catalog file names or null if no catalogs are available in the properties.
      • setCatalogFiles

        public void setCatalogFiles​(java.lang.String fileList)
        Set the list of catalog files.
        Parameters:
        fileList -
      • catalogFiles

        public java.util.Vector catalogFiles()
        Deprecated.
        No longer static; use get/set methods.
        Return the current list of catalog files.
        Returns:
        A vector of the catalog file names or null if no catalogs are available in the properties.
      • queryPreferPublic

        private boolean queryPreferPublic()
        Obtain the preferPublic setting from the properties.

        In the properties, a value of 'public' is true, anything else is false.

        Returns:
        True if prefer is public or the defaultPreferSetting.
      • getPreferPublic

        public boolean getPreferPublic()
        Return the current prefer public setting.
        Returns:
        True if public identifiers are preferred.
      • setPreferPublic

        public void setPreferPublic​(boolean preferPublic)
        Set the prefer public setting.
        Parameters:
        preferPublic -
      • preferPublic

        public boolean preferPublic()
        Deprecated.
        No longer static; use get/set methods.
        Return the current prefer public setting.
        Returns:
        True if public identifiers are preferred.
      • queryUseStaticCatalog

        private boolean queryUseStaticCatalog()
        Obtain the static-catalog setting from the properties.

        In the properties, a value of 'yes', 'true', or '1' is considered true, anything else is false.

        Returns:
        The static-catalog setting from the propertyFile or the defaultUseStaticCatalog.
      • getUseStaticCatalog

        public boolean getUseStaticCatalog()
        Returns:
        the current use static catalog setting.
      • setUseStaticCatalog

        public void setUseStaticCatalog​(boolean useStatic)
        Set the use static catalog setting.
        Parameters:
        useStatic -
      • staticCatalog

        public boolean staticCatalog()
        Deprecated.
        No longer static; use get/set methods.
        Returns:
        the current use static catalog setting.
      • getPrivateCatalog

        public Catalog getPrivateCatalog()
        Returns:
        a new catalog instance. This method always returns a new instance of the underlying catalog class.
      • getCatalog

        public Catalog getCatalog()
        Returns:
        a catalog instance. If this manager uses static catalogs, the same static catalog will always be returned. Otherwise a new catalog will be returned.
      • queryAllowOasisXMLCatalogPI

        public boolean queryAllowOasisXMLCatalogPI()

        Obtain the oasisXMLCatalogPI setting from the properties.

        In the properties, a value of 'yes', 'true', or '1' is considered true, anything else is false.

        Returns:
        The oasisXMLCatalogPI setting from the propertyFile or the defaultOasisXMLCatalogPI.
      • getAllowOasisXMLCatalogPI

        public boolean getAllowOasisXMLCatalogPI()
        Returns:
        the current XML Catalog PI setting.
      • setAllowOasisXMLCatalogPI

        public void setAllowOasisXMLCatalogPI​(boolean allowPI)
        Set the XML Catalog PI setting
        Parameters:
        allowPI -
      • allowOasisXMLCatalogPI

        public boolean allowOasisXMLCatalogPI()
        Deprecated.
        No longer static; use get/set methods.
        Returns:
        the current XML Catalog PI setting.
      • queryCatalogClassName

        public java.lang.String queryCatalogClassName()
        Obtain the Catalog class name setting from the properties.
        Returns:
        the name
      • getCatalogClassName

        public java.lang.String getCatalogClassName()
        Returns:
        the current Catalog class name.
      • setCatalogClassName

        public void setCatalogClassName​(java.lang.String className)
        Set the Catalog class name.
        Parameters:
        className -
      • catalogClassName

        public java.lang.String catalogClassName()
        Deprecated.
        No longer static; use get/set methods.
        Returns:
        the current Catalog class name.