Top Description Fields Constructors Methods
org.dom4j.tree

public Class QNameCache

extends Object
Class Inheritance
Imports
org.dom4j.DocumentFactory, .Namespace, .QName, java.util.*

QNameCache caches instances of QName for reuse both across documents and within documents.

Author
James Strachan
Version
$Revision: 1.16 $

Field Summary

Modifier and TypeField and Description
private DocumentFactory
documentFactory

The document factory associated with new QNames instances in this cache or null if no instances should be associated by default

protected Map<Namespace, Map<String, QName>>
namespaceCache

Cache of Mapinstances indexed by namespace which contain caches of QNamefor each name

protected Map<String, QName>
noNamespaceCache

Cache of QNameinstances with no namespace

Constructor Summary

AccessConstructor and Description
public
public
QNameCache(DocumentFactory documentFactory)

Method Summary

Modifier and TypeMethod and Description
protected Map<String, QName>

Returns:

a newly created Mapinstance.
createMap
()

A factory method

protected QName

Returns:

DOCUMENT ME!
createQName
(String
DOCUMENT ME!
name
)

Factory method to create a new QName object which can be overloaded to create derived QName instances

protected QName

Returns:

DOCUMENT ME!
createQName
(String
DOCUMENT ME!
name
,
Namespace
DOCUMENT ME!
namespace
)

Factory method to create a new QName object which can be overloaded to create derived QName instances

protected QName

Returns:

DOCUMENT ME!
createQName
(String
DOCUMENT ME!
name
,
Namespace
DOCUMENT ME!
namespace
,
String
DOCUMENT ME!
qualifiedName
)

Factory method to create a new QName object which can be overloaded to create derived QName instances

public QName

Returns:

the QName for the given name and no namepsace
get
(String
DOCUMENT ME!
name
)

DOCUMENT ME!

public QName

Returns:

the QName for the given local name and namepsace
get
(String
DOCUMENT ME!
name
,
Namespace
DOCUMENT ME!
namespace
)

DOCUMENT ME!

public QName

Returns:

the QName for the given local name, qualified name and namepsace
get
(String
DOCUMENT ME!
localName
,
Namespace
DOCUMENT ME!
namespace
,
String
DOCUMENT ME!
qName
)

DOCUMENT ME!

public QName
get(String qualifiedName, String uri)

protected Map<String, QName>

Returns:

the cache for the given namespace. If one does not currently exist it is created.
getNamespaceCache
(Namespace
DOCUMENT ME!
namespace
)

DOCUMENT ME!

public List<QName>

Returns:

DOCUMENT ME!
getQNames
()

Returns a list of all the QName instances currently used

public QName

Returns:

the cached QName instance if there is one or adds the given qname to the cache if not
intern
(QName
DOCUMENT ME!
qname
)

DOCUMENT ME!

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

documentFactoryback to summary
private DocumentFactory documentFactory

The document factory associated with new QNames instances in this cache or null if no instances should be associated by default

namespaceCacheback to summary
protected Map<Namespace, Map<String, QName>> namespaceCache

Cache of Mapinstances indexed by namespace which contain caches of QNamefor each name

noNamespaceCacheback to summary
protected Map<String, QName> noNamespaceCache

Cache of QNameinstances with no namespace

Constructor Detail

QNameCacheback to summary
public QNameCache()
QNameCacheback to summary
public QNameCache(DocumentFactory documentFactory)

Method Detail

createMapback to summary
protected Map<String, QName> createMap()

A factory method

Returns:Map<String, QName>

a newly created Mapinstance.

createQNameback to summary
protected QName createQName(String name)

Factory method to create a new QName object which can be overloaded to create derived QName instances

Parameters
name:String

DOCUMENT ME!

Returns:QName

DOCUMENT ME!

createQNameback to summary
protected QName createQName(String name, Namespace namespace)

Factory method to create a new QName object which can be overloaded to create derived QName instances

Parameters
name:String

DOCUMENT ME!

namespace:Namespace

DOCUMENT ME!

Returns:QName

DOCUMENT ME!

createQNameback to summary
protected QName createQName(String name, Namespace namespace, String qualifiedName)

Factory method to create a new QName object which can be overloaded to create derived QName instances

Parameters
name:String

DOCUMENT ME!

namespace:Namespace

DOCUMENT ME!

qualifiedName:String

DOCUMENT ME!

Returns:QName

DOCUMENT ME!

getback to summary
public QName get(String name)

DOCUMENT ME!

Parameters
name:String

DOCUMENT ME!

Returns:QName

the QName for the given name and no namepsace

getback to summary
public QName get(String name, Namespace namespace)

DOCUMENT ME!

Parameters
name:String

DOCUMENT ME!

namespace:Namespace

DOCUMENT ME!

Returns:QName

the QName for the given local name and namepsace

getback to summary
public QName get(String localName, Namespace namespace, String qName)

DOCUMENT ME!

Parameters
localName:String

DOCUMENT ME!

namespace:Namespace

DOCUMENT ME!

qName:String

DOCUMENT ME!

Returns:QName

the QName for the given local name, qualified name and namepsace

getback to summary
public QName get(String qualifiedName, String uri)
getNamespaceCacheback to summary
protected Map<String, QName> getNamespaceCache(Namespace namespace)

DOCUMENT ME!

Parameters
namespace:Namespace

DOCUMENT ME!

Returns:Map<String, QName>

the cache for the given namespace. If one does not currently exist it is created.

getQNamesback to summary
public List<QName> getQNames()

Returns a list of all the QName instances currently used

Returns:List<QName>

DOCUMENT ME!

internback to summary
public QName intern(QName qname)

DOCUMENT ME!

Parameters
qname:QName

DOCUMENT ME!

Returns:QName

the cached QName instance if there is one or adds the given qname to the cache if not