Constructor and Description |
---|
XMLMemento(Document document,
Element element)
Creates a memento for the specified document and element.
|
Modifier and Type | Method and Description |
---|---|
IMemento |
copyChild(IMemento child) |
IMemento |
createChild(String type)
Creates a new child of this memento with the given type.
|
IMemento |
createChild(String type,
String id)
Creates a new child of this memento with the given type and id.
|
static XMLMemento |
createReadRoot(Reader reader)
Creates a
Document from the Reader
and returns a memento on the first Element for reading
the document. |
static XMLMemento |
createReadRoot(Reader reader,
String baseDir)
Creates a
Document from the Reader
and returns a memento on the first Element for reading
the document. |
static XMLMemento |
createWriteRoot(String type)
Returns a root memento for writing a document.
|
IMemento |
getChild(String type)
Returns the first child with the given type id.
|
IMemento[] |
getChildren(String type)
Returns all children with the given type id.
|
Float |
getFloat(String key)
Returns the floating point value of the given key.
|
String |
getID()
Returns the id for this memento.
|
Integer |
getInteger(String key)
Returns the integer value of the given key.
|
String |
getString(String key)
Returns the string value of the given key.
|
String |
getTextData()
Returns the data of the Text node of the memento.
|
void |
putFloat(String key,
float f)
Sets the value of the given key to the given floating point number.
|
void |
putInteger(String key,
int n)
Sets the value of the given key to the given integer.
|
void |
putMemento(IMemento memento)
Copy the attributes and children from
memento
to the receiver. |
void |
putString(String key,
String value)
Sets the value of the given key to the given string.
|
void |
putTextData(String data)
Sets the memento's Text node to contain the given data.
|
void |
save(Writer writer)
Saves this memento's document current values to the
specified writer.
|
public XMLMemento(Document document, Element element)
Clients should use createReadRoot
and
createWriteRoot
to create the initial
memento on a document.
document
- the document for the mementoelement
- the element node for the mementopublic static XMLMemento createReadRoot(Reader reader) throws WorkbenchException
Document
from the Reader
and returns a memento on the first Element
for reading
the document.
Same as calling createReadRoot(reader, null)
reader
- the Reader
used to create the memento's documentElement
for reading the documentWorkbenchException
- if IO problems, invalid format, or no element.public static XMLMemento createReadRoot(Reader reader, String baseDir) throws WorkbenchException
Document
from the Reader
and returns a memento on the first Element
for reading
the document.reader
- the Reader
used to create the memento's documentbaseDir
- the directory used to resolve relative file names
in the XML document. This directory must exist and include the
trailing separator. The directory format, including the separators,
must be valid for the platform. Can be null
if not
needed.Element
for reading the documentWorkbenchException
- if IO problems, invalid format, or no element.public static XMLMemento createWriteRoot(String type)
type
- the element node type to create on the documentpublic IMemento createChild(String type)
IMemento
The getChild
and getChildren
methods
are used to retrieve children of a given type.
createChild
in interface IMemento
type
- the typeIMemento.getChild(java.lang.String)
,
IMemento.getChildren(java.lang.String)
public IMemento createChild(String type, String id)
IMemento
TAG_ID
) and can be retrieved using getId
.
The getChild
and getChildren
methods
are used to retrieve children of a given type.
createChild
in interface IMemento
type
- the typeid
- the child idIMemento.getID()
public IMemento getChild(String type)
IMemento
public IMemento[] getChildren(String type)
IMemento
getChildren
in interface IMemento
type
- the type idpublic Float getFloat(String key)
IMemento
public String getID()
IMemento
getID
in interface IMemento
null
if noneIMemento.createChild(java.lang.String,java.lang.String)
public Integer getInteger(String key)
IMemento
getInteger
in interface IMemento
key
- the keynull
if the key was not found or was found
but was not an integerpublic String getString(String key)
IMemento
public String getTextData()
IMemento
getTextData
in interface IMemento
null
if the memento has no Text node.public void putFloat(String key, float f)
IMemento
public void putInteger(String key, int n)
IMemento
putInteger
in interface IMemento
key
- the keyn
- the valuepublic void putMemento(IMemento memento)
IMemento
memento
to the receiver.putMemento
in interface IMemento
memento
- the IMemento to be copied.public void putString(String key, String value)
IMemento
public void putTextData(String data)
IMemento
putTextData
in interface IMemento
data
- the data to be placed on the Text nodepublic void save(Writer writer) throws IOException
writer
- the writer used to save the memento's documentIOException
- if there is a problem serializing the document to the stream.Guidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.