Package org.jdom2
Class SlimJDOMFactory
java.lang.Object
org.jdom2.DefaultJDOMFactory
org.jdom2.SlimJDOMFactory
- All Implemented Interfaces:
JDOMFactory
This JDOMFactory instance reduces the amount of memory used by JDOM content.
It does this by reusing String instances instead of using new (but equals())
instances. It uses the
StringBin
class to provide a String cache.- Author:
- Rolf Lear
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionSlimJDOMFactory
(boolean cachetext) Construct a SlimJDOMFactory which will optionally cache Text/CDATA/Comment/Attribute values. -
Method Summary
Modifier and TypeMethodDescriptionThis will create a newAttribute
with the specified (local) name and value, and does not place the attribute in a
.Namespace
Deprecated.Deprecated.attribute
(String name, String value, AttributeType type) This will create a newAttribute
with the specified (local) name, value and type, and does not place the attribute in a
.Namespace
attribute
(String name, String value, AttributeType type, Namespace namespace) This will create a newAttribute
with the specified (local) name, value, and type, and in the provided
.Namespace
This will create a newAttribute
with the specified (local) name and value, and in the provided
.Namespace
This creates the CDATA with the supplied text.void
Reset any Cached String instance data from this SlimJDOMFaxctory cache.This creates the comment with the supplied text.This will create theDocType
with the specified element nameThis will create theDocType
with the specified element name and reference to an external DTD.This will create theDocType
with the specified element name and a reference to an external DTD.This will create anElement
in no
.Namespace
This will create a newElement
with the supplied (local) name, and specifies the URI of the
theNamespace
Element
should be in, resulting it being unprefixed (in the default namespace).This will create a newElement
with the supplied (local) name, and specifies the prefix and URI of the
theNamespace
Element
should be in.This will create a newElement
with the supplied (local) name, and define the
to be used.Namespace
This will create a newEntityRef
with the supplied name.This will create a newEntityRef
with the supplied name and system ID.This will create a newEntityRef
with the supplied name, public ID, and system ID.processingInstruction
(int line, int col, String target) This will create a newProcessingInstruction
with the specified target and no data.processingInstruction
(int line, int col, String target, String data) This will create a newProcessingInstruction
with the specified target and data.processingInstruction
(int line, int col, String target, Map<String, String> data) This will create a newProcessingInstruction
with the specified target and data.This creates the Text with the supplied text.Methods inherited from class org.jdom2.DefaultJDOMFactory
addContent, addNamespaceDeclaration, cdata, comment, docType, docType, docType, document, document, document, element, element, element, element, entityRef, entityRef, entityRef, processingInstruction, processingInstruction, processingInstruction, setAttribute, setRoot, text
-
Constructor Details
-
SlimJDOMFactory
public SlimJDOMFactory() -
SlimJDOMFactory
public SlimJDOMFactory(boolean cachetext) Construct a SlimJDOMFactory which will optionally cache Text/CDATA/Comment/Attribute values. Caching these values is recommended because often XML documents have many instances of the same Text values (especially whitespace sequences...)- Parameters:
cachetext
- should be true if you want the content of CDATA, Text, Comment and Attribute values cached as well.
-
-
Method Details
-
clearCache
public void clearCache()Reset any Cached String instance data from this SlimJDOMFaxctory cache. -
attribute
Description copied from interface:JDOMFactory
This will create a new
Attribute
with the specified (local) name and value, and in the provided
.Namespace
- Specified by:
attribute
in interfaceJDOMFactory
- Overrides:
attribute
in classDefaultJDOMFactory
- Parameters:
name
-String
name ofAttribute
.value
-String
value for new attribute.namespace
-Namespace
of the new Attribute- Returns:
- the created Attribute instance
-
attribute
Deprecated.Description copied from interface:JDOMFactory
This will create a newAttribute
with the specified (local) name, value, and type, and in the provided
.Namespace
- Specified by:
attribute
in interfaceJDOMFactory
- Overrides:
attribute
in classDefaultJDOMFactory
- Parameters:
name
-String
name ofAttribute
.value
-String
value for new attribute.type
-int
type for new attribute.namespace
-Namespace
namespace for new attribute.- Returns:
- the created Attribute instance
-
attribute
Description copied from interface:JDOMFactory
This will create a newAttribute
with the specified (local) name, value, and type, and in the provided
.Namespace
- Specified by:
attribute
in interfaceJDOMFactory
- Overrides:
attribute
in classDefaultJDOMFactory
- Parameters:
name
-String
name ofAttribute
.value
-String
value for new attribute.type
-AttributeType
type for new attribute.namespace
-Namespace
namespace for new attribute.- Returns:
- the created Attribute instance
-
attribute
Description copied from interface:JDOMFactory
This will create a newAttribute
with the specified (local) name and value, and does not place the attribute in a
.Namespace
Note: This actually explicitly puts the
Attribute
in the "empty"Namespace
(
).Namespace.NO_NAMESPACE
- Specified by:
attribute
in interfaceJDOMFactory
- Overrides:
attribute
in classDefaultJDOMFactory
- Parameters:
name
-String
name ofAttribute
.value
-String
value for new attribute.- Returns:
- the created Attribute instance
-
attribute
Deprecated.Description copied from interface:JDOMFactory
This will create a newAttribute
with the specified (local) name, value and type, and does not place the attribute in a
.Namespace
Note: This actually explicitly puts the
Attribute
in the "empty"Namespace
(
).Namespace.NO_NAMESPACE
- Specified by:
attribute
in interfaceJDOMFactory
- Overrides:
attribute
in classDefaultJDOMFactory
- Parameters:
name
-String
name ofAttribute
.value
-String
value for new attribute.type
-int
type for new attribute.- Returns:
- the created Attribute instance
-
attribute
Description copied from interface:JDOMFactory
This will create a newAttribute
with the specified (local) name, value and type, and does not place the attribute in a
.Namespace
Note: This actually explicitly puts the
Attribute
in the "empty"Namespace
(
).Namespace.NO_NAMESPACE
- Specified by:
attribute
in interfaceJDOMFactory
- Overrides:
attribute
in classDefaultJDOMFactory
- Parameters:
name
-String
name ofAttribute
.value
-String
value for new attribute.type
-AttributeType
type for new attribute.- Returns:
- the created Attribute instance
-
cdata
Description copied from interface:JDOMFactory
This creates the CDATA with the supplied text.- Specified by:
cdata
in interfaceJDOMFactory
- Overrides:
cdata
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.str
-String
content of CDATA.- Returns:
- the created CDATA instance
-
text
Description copied from interface:JDOMFactory
This creates the Text with the supplied text.- Specified by:
text
in interfaceJDOMFactory
- Overrides:
text
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.str
-String
content of Text.- Returns:
- the created Text instance
-
comment
Description copied from interface:JDOMFactory
This creates the comment with the supplied text.- Specified by:
comment
in interfaceJDOMFactory
- Overrides:
comment
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.text
-String
content of comment.- Returns:
- the created Comment instance
-
docType
Description copied from interface:JDOMFactory
This will create theDocType
with the specified element name and a reference to an external DTD.- Specified by:
docType
in interfaceJDOMFactory
- Overrides:
docType
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.elementName
-String
name of element being constrained.publicID
-String
public ID of referenced DTDsystemID
-String
system ID of referenced DTD- Returns:
- the created DocType instance
-
docType
Description copied from interface:JDOMFactory
This will create theDocType
with the specified element name and reference to an external DTD.- Specified by:
docType
in interfaceJDOMFactory
- Overrides:
docType
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.elementName
-String
name of element being constrained.systemID
-String
system ID of referenced DTD- Returns:
- the created DocType instance
-
docType
Description copied from interface:JDOMFactory
This will create theDocType
with the specified element name- Specified by:
docType
in interfaceJDOMFactory
- Overrides:
docType
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.elementName
-String
name of element being constrained.- Returns:
- the created DocType instance
-
element
Description copied from interface:JDOMFactory
This will create a newElement
with the supplied (local) name, and define the
to be used.Namespace
- Specified by:
element
in interfaceJDOMFactory
- Overrides:
element
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.name
-String
name of element.namespace
-Namespace
to put element in.- Returns:
- the created Element instance
-
element
Description copied from interface:JDOMFactory
This will create anElement
in no
.Namespace
- Specified by:
element
in interfaceJDOMFactory
- Overrides:
element
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.name
-String
name of element.- Returns:
- the created Element instance
-
element
Description copied from interface:JDOMFactory
This will create a newElement
with the supplied (local) name, and specifies the URI of the
theNamespace
Element
should be in, resulting it being unprefixed (in the default namespace).- Specified by:
element
in interfaceJDOMFactory
- Overrides:
element
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.name
-String
name of element.uri
-String
URI forNamespace
element should be in.- Returns:
- the created Element instance
-
element
Description copied from interface:JDOMFactory
This will create a newElement
with the supplied (local) name, and specifies the prefix and URI of the
theNamespace
Element
should be in.- Specified by:
element
in interfaceJDOMFactory
- Overrides:
element
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.name
-String
name of element.prefix
- the NamespacePrefic to use for this Elementuri
-String
URI forNamespace
element should be in.- Returns:
- the created Element instance
-
processingInstruction
public ProcessingInstruction processingInstruction(int line, int col, String target, Map<String, String> data) Description copied from interface:JDOMFactory
This will create a newProcessingInstruction
with the specified target and data.- Specified by:
processingInstruction
in interfaceJDOMFactory
- Overrides:
processingInstruction
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.target
-String
target of PI.data
-Map
data for PI, in name/value pairs- Returns:
- the created ProcessingInstruction instance
-
processingInstruction
Description copied from interface:JDOMFactory
This will create a newProcessingInstruction
with the specified target and data.- Specified by:
processingInstruction
in interfaceJDOMFactory
- Overrides:
processingInstruction
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.target
-String
target of PI.data
-String
data for PI.- Returns:
- the created ProcessingInstruction instance
-
processingInstruction
Description copied from interface:JDOMFactory
This will create a newProcessingInstruction
with the specified target and no data.- Specified by:
processingInstruction
in interfaceJDOMFactory
- Overrides:
processingInstruction
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.target
-String
target of PI.- Returns:
- the created ProcessingInstruction instance
-
entityRef
Description copied from interface:JDOMFactory
This will create a newEntityRef
with the supplied name.- Specified by:
entityRef
in interfaceJDOMFactory
- Overrides:
entityRef
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.name
-String
name of element.- Returns:
- the created EntityRef instance
-
entityRef
Description copied from interface:JDOMFactory
This will create a newEntityRef
with the supplied name, public ID, and system ID.- Specified by:
entityRef
in interfaceJDOMFactory
- Overrides:
entityRef
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.name
-String
name of element.publicID
-String
public ID of element.systemID
-String
system ID of element.- Returns:
- the created EntityRef instance
-
entityRef
Description copied from interface:JDOMFactory
This will create a newEntityRef
with the supplied name and system ID.- Specified by:
entityRef
in interfaceJDOMFactory
- Overrides:
entityRef
in classDefaultJDOMFactory
- Parameters:
line
- The line on which this content begins.col
- The column on the line at which this content begins.name
-String
name of element.systemID
-String
system ID of element.- Returns:
- the created EntityRef instance
-