public class Namespace extends java.lang.Object implements java.io.Externalizable, HasNamedParts
Symbols.
Namespaces are normally named and can be accessed from a global table.
They correspond to Common Lisp "packages" (which are implemented
using gnu.kawa.lispexpr.LispPackage,
which extends Namespace).
A Namespace is a "weak" mapping in the sense that a
Symbol can be garbage collected even though it is
referenced from a Namespace.| Modifier and Type | Field and Description |
|---|---|
static Namespace |
EmptyNamespace
The Namespace with the empty name.
|
protected static java.util.Hashtable |
nsTable
Map namepsace names (and nick-names) to Namespaces.
|
protected java.lang.String |
prefix |
protected gnu.mapping.SymbolRef[] |
table |
| Modifier | Constructor and Description |
|---|---|
protected |
Namespace() |
protected |
Namespace(int capacity) |
| Modifier and Type | Method and Description |
|---|---|
Symbol |
add(Symbol sym,
int hash) |
static Namespace |
create() |
static Namespace |
create(int capacity) |
java.lang.Object |
get(java.lang.String key) |
static Namespace |
getDefault() |
static Symbol |
getDefaultSymbol(java.lang.String name) |
java.lang.String |
getName()
Get the name of this Namespace.
|
java.lang.String |
getPrefix() |
Symbol |
getSymbol(java.lang.String key)
Get a Symbol matching the given name.
|
boolean |
isConstant(java.lang.String key) |
Symbol |
lookup(java.lang.String key)
Get a Symbol matching the given name.
|
Symbol |
lookup(java.lang.String key,
int hash,
boolean create) |
protected Symbol |
lookupInternal(java.lang.String key,
int hash) |
static Namespace |
makeUnknownNamespace(java.lang.String prefix)
Create a "placeholder" for a namespace with a known prefix
but unknown uri.
|
void |
readExternal(java.io.ObjectInput in) |
java.lang.Object |
readResolve() |
protected void |
rehash() |
boolean |
remove(Symbol symbol) |
void |
setName(java.lang.String name)
Set the name of this Namespace.
|
java.lang.String |
toString() |
static Namespace |
valueOf() |
static Namespace |
valueOf(java.lang.String name) |
static Namespace |
valueOf(java.lang.String uri,
SimpleSymbol prefix) |
static Namespace |
valueOf(java.lang.String uri,
java.lang.String prefix) |
void |
writeExternal(java.io.ObjectOutput out) |
protected static final java.util.Hashtable nsTable
public static final Namespace EmptyNamespace
protected java.lang.String prefix
protected gnu.mapping.SymbolRef[] table
public final java.lang.String getName()
public final void setName(java.lang.String name)
public final java.lang.String getPrefix()
public static Namespace create(int capacity)
public static Namespace create()
public static Namespace getDefault()
public static Symbol getDefaultSymbol(java.lang.String name)
public static Namespace valueOf()
public static Namespace valueOf(java.lang.String name)
public static Namespace valueOf(java.lang.String uri, java.lang.String prefix)
public static Namespace valueOf(java.lang.String uri, SimpleSymbol prefix)
public static Namespace makeUnknownNamespace(java.lang.String prefix)
public java.lang.Object get(java.lang.String key)
get in interface HasNamedPartspublic boolean isConstant(java.lang.String key)
isConstant in interface HasNamedPartspublic Symbol getSymbol(java.lang.String key)
public Symbol lookup(java.lang.String key)
protected final Symbol lookupInternal(java.lang.String key, int hash)
public Symbol lookup(java.lang.String key, int hash, boolean create)
public boolean remove(Symbol symbol)
protected void rehash()
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOExceptionpublic void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOExceptionjava.lang.ClassNotFoundExceptionpublic java.lang.Object readResolve()
throws java.io.ObjectStreamException
java.io.ObjectStreamExceptionpublic java.lang.String toString()
toString in class java.lang.Object