public class Namespace extends java.lang.Object implements java.io.Externalizable, HasNamedParts
Symbol
s.
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 HasNamedParts
public boolean isConstant(java.lang.String key)
isConstant
in interface HasNamedParts
public 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.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public java.lang.Object readResolve() throws java.io.ObjectStreamException
java.io.ObjectStreamException
public java.lang.String toString()
toString
in class java.lang.Object