Class XMLResolverConfiguration
- All Implemented Interfaces:
ResolverConfiguration
Many aspects of catalog processing can be configured. This class examines both system properties and the properties specified in a separate properties file. The initial list of catalog files can be provided as a property or directly when the configuration is created.
The following table lays out the features recognized by this class and the system properties and configuration file properties that can be used to specify them.
Feature | System property | File property | Type | |
---|---|---|---|---|
ResolverFeature.ACCESS_EXTERNAL_DOCUMENT |
xml.catalog.accessExternalDocument | access-external-document | String | |
ResolverFeature.ACCESS_EXTERNAL_ENTITY |
xml.catalog.accessExternalEntity | access-external-entity | String | |
ResolverFeature.ALLOW_CATALOG_PI |
xml.catalog.allowPI | allow-oasis-xml-catalog-pi | Boolean¹ | |
ResolverFeature.ALWAYS_RESOLVE |
xml.catalog.alwaysResolve | always-resolve | Boolean¹ | |
ResolverFeature.ARCHIVED_CATALOGS |
xml.catalog.archivedCatalogs | archived-catalogs | Boolean¹ | |
ResolverFeature.CACHE_DIRECTORY |
xml.catalog.cache | cache | String | |
ResolverFeature.CACHE_UNDER_HOME |
xml.catalog.cacheUnderHome | cache-under-home | Boolean¹ | |
ResolverFeature.CACHE_ENABLED |
xml.catalog.cacheEnabled | cache-enabled | Boolean¹ | |
ResolverFeature.CATALOG_ADDITIONS |
xml.catalog.additions | catalog-additions | List of strings² | |
ResolverFeature.CATALOG_FILES |
xml.catalog.files | catalogs | List of strings² | |
ResolverFeature.CATALOG_LOADER_CLASS |
xml.catalog.catalogLoaderClass | catalog-loader-class | String | |
ResolverFeature.CLASSPATH_CATALOGS |
xml.catalog.classpathCatalogs | classpath-catalogs | String | |
ResolverFeature.DEFAULT_LOGGER_LOG_LEVEL |
xml.catalog.defaultLoggerLogLevel | default-logger-log-level | String | |
ResolverFeature.MASK_JAR_URIS |
xml.catalog.maskJarUris | mask-jar-uris | Boolean¹ | |
ResolverFeature.MERGE_HTTPS |
xml.catalog.mergeHttps | merge-https | Boolean¹ | |
ResolverFeature.PARSE_RDDL |
xml.catalog.parseRddl | parse-rddl | Boolean¹ | |
ResolverFeature.PREFER_PROPERTY_FILE |
xml.catalog.preferPropertyFile | prefer-property-file | Boolean¹ | |
ResolverFeature.PREFER_PUBLIC |
xml.catalog.prefer | prefer | "public " or "system "³ |
|
ResolverFeature.RESOLVER_LOGGER_CLASS |
xml.catalog.resolverLoggerClass | resolver-logger-class | String | |
ResolverFeature.SAXPARSERFACTORY_CLASS |
xml.catalog.saxParserFactoryClass | saxparserfactory-class | String | |
ResolverFeature.URI_FOR_SYSTEM |
xml.catalog.uriForSystem | uri-for-system | Boolean¹ | |
ResolverFeature.XMLREADER_SUPPLIER |
- | - | Supplier<XMLReader> | |
¹ Any of "true", "yes", or "1" is true; everything else is false. | ||||
² The list of strings is semicolon delimited | ||||
³ Public is preferred if the value is "public", any other value is equivalent to "system". |
Several additional features can only be set to objects at runtime and have no corresponding properties.
-
Constructor Summary
ConstructorsConstructorDescriptionConstruct a default configuration.XMLResolverConfiguration
(String catalogFiles) Construct a configuration from a delimited string of catalog files.XMLResolverConfiguration
(List<String> catalogFiles) Construct a configuration from a list of catalog files.XMLResolverConfiguration
(List<URL> propertyFiles, List<String> catalogFiles) Construct a resolver configuration with specific properties and catalog files.A copying constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addCatalog
(String catalog) Add a catalog file to the list of catalogs.void
addCatalog
(URI catalog, InputSource data) Add a catalog file to the list of catalogs.<T> T
getFeature
(ResolverFeature<T> feature) Return the value of a feature.Iterate over all the known features.boolean
removeCatalog
(String catalog) Remove a catalog from the list of catalogs.<T> void
setFeature
(ResolverFeature<T> feature, T value) Set a configuration feature.
-
Constructor Details
-
XMLResolverConfiguration
public XMLResolverConfiguration()Construct a default configuration.The default configuration uses system properties and searches the classpath for an
xmlcatalog.properties
file. It uses the settings found there to configure the resolver. -
XMLResolverConfiguration
Construct a configuration from a delimited string of catalog files.The default configuration uses system properties and searches the classpath for an
xmlcatalog.properties
file. It uses the settings found there to configure the resolver, but replaces any list of catalog files found there with the catalog files provided in the constructor.- Parameters:
catalogFiles
- A semi-colon (;) delimited list of catalog files
-
XMLResolverConfiguration
Construct a configuration from a list of catalog files.The default configuration uses system properties and searches the classpath for an
xmlcatalog.properties
file. It uses the settings found there to configure the resolver, but replaces any list of catalog files found there with the catalog files provided in the constructor.- Parameters:
catalogFiles
- A list of catalog files.
-
XMLResolverConfiguration
Construct a resolver configuration with specific properties and catalog files.The default configuration uses system properties and the properties found in the first
propertyFiles
property file that it can read. (It uses at most one property file.) It uses those settings to configure the resolver, but replaces any list of catalog files found there with the catalog files provided in the constructor.- Parameters:
propertyFiles
- A list of property files from which to attempt to load configuration properties.catalogFiles
- A list of catalog files.
-
XMLResolverConfiguration
A copying constructor.This constructor creates a new resolver configuration with the same properties as an existing configuration. It gets its own copy of the catalog file list and
CatalogManager
.- Parameters:
current
- The configuration to copy.
-
-
Method Details
-
addCatalog
Add a catalog file to the list of catalogs.This adds a catalog file to the end of the list of catalogs. This file will be loaded by opening the specified file.
- Parameters:
catalog
- The catalog file.
-
addCatalog
Add a catalog file to the list of catalogs.This adds a catalog file to the end of the list of catalogs. This file will be loaded by reading from the specified input source.
- Parameters:
catalog
- The catalog file.data
- The input source that provides the catalog content.- Throws:
NullPointerException
- if either catalog or data is null.
-
removeCatalog
Remove a catalog from the list of catalogs.Removes the specified catalog from the list of catalogs (if it was present in the list).
- Parameters:
catalog
- The catalog file.- Returns:
- True if the catalog was removed.
-
setFeature
Set a configuration feature.Sets the specified feature to the specified value. Unknown features are ignored.
- Specified by:
setFeature
in interfaceResolverConfiguration
- Type Parameters:
T
- A type appropriate for the feature.- Parameters:
feature
- The feature.value
- The new value.- Throws:
NullPointerException
- if the value is null for features that cannot be null
-
getFeature
Return the value of a feature.Returns the value of the specified feature.
- Specified by:
getFeature
in interfaceResolverConfiguration
- Type Parameters:
T
- A type appropriate to the feature.- Parameters:
feature
- The feature or null if the feature is unknown.- Returns:
- The feature value.
-
getFeatures
Iterate over all the known features.- Specified by:
getFeatures
in interfaceResolverConfiguration
- Returns:
- An iterator over all the known features.
-