Eclipse Platform
2.0

org.eclipse.ui
Class XMLMemento

java.lang.Object
  |
  +--org.eclipse.ui.XMLMemento
All Implemented Interfaces:
IMemento

public final class XMLMemento
extends Object
implements IMemento

This class represents the default implementation of the IMemento interface.

This class is not intended to be extended by clients.

See Also:
IMemento

Field Summary
 
Fields inherited from interface org.eclipse.ui.IMemento
TAG_ID
 
Constructor Summary
XMLMemento(org.w3c.dom.Document document, org.w3c.dom.Element element)
          Creates a memento for the specified document and element.
 
Method Summary
 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 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLMemento

public XMLMemento(org.w3c.dom.Document document,
                  org.w3c.dom.Element element)
Creates a memento for the specified document and element.

Clients should use createReadRoot and createWriteRoot to create the initial memento on a document.

Parameters:
document - the document for the memento
element - the element node for the memento
Method Detail

createReadRoot

public static XMLMemento createReadRoot(Reader reader)
                                 throws WorkbenchException
Creates a Document from the Reader and returns a memento on the first Element for reading the document.

Parameters:
reader - the Reader used to create the memento's document
Returns:
a memento on the first Element for reading the document
Throws:
WorkbenchException - if IO problems, invalid format, or no element.
WorkbenchException

createWriteRoot

public static XMLMemento createWriteRoot(String type)
Returns a root memento for writing a document.

Parameters:
type - the element node type to create on the document
Returns:
the root memento for writing a document

createChild

public IMemento createChild(String type)
Description copied from interface: IMemento
Creates a new child of this memento with the given type.

The getChild and getChildren methods are used to retrieve children of a given type.

Specified by:
createChild in interface IMemento
Parameters:
type - the type
Returns:
a new child memento
See Also:
IMemento.getChild(java.lang.String), IMemento.getChildren(java.lang.String)

createChild

public IMemento createChild(String type,
                            String id)
Description copied from interface: IMemento
Creates a new child of this memento with the given type and id. The id is stored in the child memento (using a special reserved key, TAG_ID) and can be retrieved using getId.

The getChild and getChildren methods are used to retrieve children of a given type.

Specified by:
createChild in interface IMemento
Parameters:
type - the type
id - the child id
Returns:
a new child memento with the given type and id
See Also:
#getId

copyChild

public IMemento copyChild(IMemento child)

getChild

public IMemento getChild(String type)
Description copied from interface: IMemento
Returns the first child with the given type id.

Specified by:
getChild in interface IMemento
Parameters:
type - the type id
Returns:
the first child with the given type

getChildren

public IMemento[] getChildren(String type)
Description copied from interface: IMemento
Returns all children with the given type id.

Specified by:
getChildren in interface IMemento
Parameters:
type - the type id
Returns:
the list of children with the given type

getFloat

public Float getFloat(String key)
Description copied from interface: IMemento
Returns the floating point value of the given key.

Specified by:
getFloat in interface IMemento
Parameters:
key - the key
Returns:
the value, or null if the key was not found or was found but was not a floating point number

getID

public String getID()
Description copied from interface: IMemento
Returns the id for this memento.

[Issue: For consistency, rename to "getId".]

Specified by:
getID in interface IMemento
Returns:
the memento id, or null if none
See Also:
IMemento.createChild(java.lang.String,java.lang.String)

getInteger

public Integer getInteger(String key)
Description copied from interface: IMemento
Returns the integer value of the given key.

Specified by:
getInteger in interface IMemento
Parameters:
key - the key
Returns:
the value, or null if the key was not found or was found but was not an integer

getString

public String getString(String key)
Description copied from interface: IMemento
Returns the string value of the given key.

Specified by:
getString in interface IMemento
Parameters:
key - the key
Returns:
the value, or null if the key was not found or was found but was not an integer

getTextData

public String getTextData()
Description copied from interface: IMemento
Returns the data of the Text node of the memento. Each memento is allowed only one Text node.

Specified by:
getTextData in interface IMemento
Returns:
the data of the Text node of the memento, or null if the memento has no Text node.

putFloat

public void putFloat(String key,
                     float f)
Description copied from interface: IMemento
Sets the value of the given key to the given floating point number.

Specified by:
putFloat in interface IMemento
Parameters:
key - the key
f - the value

putInteger

public void putInteger(String key,
                       int n)
Description copied from interface: IMemento
Sets the value of the given key to the given integer.

Specified by:
putInteger in interface IMemento
Parameters:
key - the key
n - the value

putMemento

public void putMemento(IMemento memento)
Description copied from interface: IMemento
Copy the attributes and children from memento to the receiver.

Specified by:
putMemento in interface IMemento
Parameters:
memento - the IMemento to be copied.

putString

public void putString(String key,
                      String value)
Description copied from interface: IMemento
Sets the value of the given key to the given string.

Specified by:
putString in interface IMemento
Parameters:
key - the key
value - the value

putTextData

public void putTextData(String data)
Description copied from interface: IMemento
Sets the memento's Text node to contain the given data. Creates the Text node if none exists. If a Text node does exist, it's current contents are replaced. Each memento is allowed only one text node.

Specified by:
putTextData in interface IMemento
Parameters:
data - the data to be placed on the Text node

save

public void save(Writer writer)
          throws IOException
Saves this memento's document current values to the specified writer.

Parameters:
writer - the writer used to save the memento's document
IOException

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.