public class CatalogEntry extends Object
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.
Catalog
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
CatalogEntry()
Null constructor; something for subclasses to call.
|
CatalogEntry(int type,
Vector args)
Construct a catalog entry of the specified type.
|
CatalogEntry(String name,
Vector args)
Construct a catalog entry of the specified type.
|
Modifier and Type | Method and Description |
---|---|
static int |
addEntryType(String name,
int numArgs)
Adds a new catalog entry type.
|
String |
getEntryArg(int argNum)
Get an entry argument.
|
static int |
getEntryArgCount(int type)
Find out how many arguments an entry is required to have.
|
static int |
getEntryArgCount(String name)
Find out how many arguments an entry is required to have.
|
int |
getEntryType()
Get the entry type.
|
static int |
getEntryType(String name)
Lookup an entry type
|
void |
setEntryArg(int argNum,
String newspec)
Set an entry argument.
|
protected static int nextEntry
protected static Hashtable entryTypes
protected static Vector entryArgs
protected int entryType
protected Vector args
public CatalogEntry()
public CatalogEntry(String name, Vector args) throws CatalogException
name
- The name of the entry typeargs
- A String Vector of argumentsCatalogException
- for any errorpublic CatalogEntry(int type, Vector args) throws CatalogException
type
- args
- A String Vector of argumentsCatalogException
- for any errorpublic static int addEntryType(String name, int numArgs)
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.public static int getEntryType(String name) throws CatalogException
name
- The name of the catalog entry type.CatalogException
- for any errorpublic static int getEntryArgCount(String name) throws CatalogException
name
- The name of the catalog entry type.CatalogException
- for any errorpublic static int getEntryArgCount(int type) throws CatalogException
type
- A valid catalog entry type.CatalogException
- for any errorpublic int getEntryType()
public String getEntryArg(int argNum)
argNum
- The argument number (arguments are numbered from 0).public void setEntryArg(int argNum, String newspec) throws ArrayIndexOutOfBoundsException
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.
argNum
- The argument number (arguments are numbered from 0).newspec
- ArrayIndexOutOfBoundsException
- if an invalid argument
number is provided.Copyright © 2015 JBoss by Red Hat. All rights reserved.