org.apache.xml.resolver
public class CatalogEntry extends Object
Represents a Catalog entry.
Instances of this class represent individual entries in a Catalog.
Each catalog entry has a unique name and is associated with an arbitrary number of arguments (all strings). For example, the TR9401 catalog entry "PUBLIC" has two arguments, a public identifier and a system identifier. Each entry has a unique numeric type, assigned automatically when the entry type is created.
The number and type of catalog entries is maintained statically. Catalog classes, or their subclasses, can add new entry types, but all Catalog objects share the same global pool of types.
Initially there are no valid entries.
Version: 1.0
Field Summary | |
---|---|
protected Vector | args The arguments associated with this entry |
protected static Vector | entryArgs The entryTypes vector maps catalog entry types to the
number of arguments they're required to have. |
protected int | entryType The entry type of this entry |
protected static Hashtable | entryTypes
The entryTypes vector maps catalog entry names
(e.g., 'BASE' or 'SYSTEM') to their type (1, 2, etc.).
|
protected static int | nextEntry The nextEntry is the ordinal number of the next entry type. |
Constructor Summary | |
---|---|
CatalogEntry() Null constructor; something for subclasses to call. | |
CatalogEntry(String name, Vector args) Construct a catalog entry of the specified type. | |
CatalogEntry(int type, Vector args) Construct a catalog entry of the specified type. |
Method Summary | |
---|---|
static int | addEntryType(String name, int numArgs) Adds a new catalog entry type. |
String | getEntryArg(int argNum) Get an entry argument. |
static int | getEntryArgCount(String name) Find out how many arguments an entry is required to have. |
static int | getEntryArgCount(int type) Find out how many arguments an entry is required to have. |
static int | getEntryType(String name) Lookup an entry type |
int | getEntryType() Get the entry type. |
void | setEntryArg(int argNum, String newspec) Set an entry argument. Catalogs sometimes need to adjust the catlog entry parameters, for example to make a relative URI absolute with respect to the current base URI. |
Null constructor; something for subclasses to call.
Construct a catalog entry of the specified type.
Parameters: name The name of the entry type args A String Vector of arguments
Throws: InvalidCatalogEntryTypeException if no such entry type exists. InvalidCatalogEntryException if the wrong number of arguments is passed.
Construct a catalog entry of the specified type.
Parameters: name The name of the entry type args A String Vector of arguments
Throws: InvalidCatalogEntryTypeException if no such entry type exists. InvalidCatalogEntryException if the wrong number of arguments is passed.
Adds a new catalog entry type.
Parameters: name The name of the catalog entry type. This must be unique among all types and is case-sensitive. (Adding a duplicate name effectively replaces the old type with the new type.) numArgs The number of arguments that this entry type is required to have. There is no provision for variable numbers of arguments.
Returns: The type for the new entry.
Get an entry argument.
Parameters: argNum The argument number (arguments are numbered from 0).
Returns: The specified argument or null if an invalid argNum is provided.
Find out how many arguments an entry is required to have.
Parameters: name The name of the catalog entry type.
Returns: The number of arguments that entry type is required to have.
Throws: InvalidCatalogEntryTypeException if no entry has the specified name.
Find out how many arguments an entry is required to have.
Parameters: type A valid catalog entry type.
Returns: The number of arguments that entry type is required to have.
Throws: InvalidCatalogEntryTypeException if the type is invalid.
Lookup an entry type
Parameters: name The name of the catalog entry type.
Returns: The type of the catalog entry with the specified name.
Throws: InvalidCatalogEntryTypeException if no entry has the specified name.
Get the entry type.
Returns: The entry type of the CatalogEntry
Set an entry argument.
Catalogs sometimes need to adjust the catlog entry parameters, for example to make a relative URI absolute with respect to the current base URI. But in general, this function should only be called shortly after object creation to do some sort of cleanup. Catalog entries should not mutate over time.
Parameters: argNum The argument number (arguments are numbered from 0).
Throws: ArrayIndexOutOfBoundsException if an invalid argument number is provided.