Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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(Document document, 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` | `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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XMLMemento

    public XMLMemento(Document document,
                      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.

  Same as calling createReadRoot(reader, null)

  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`

### createReadRoot

    public static XMLMemento createReadRoot(Reader reader,
                                            String baseDir)
                                     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
    `baseDir` - 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.
  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:
    `IMemento.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.

  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

### 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
  Throws:
    `IOException` - if there is a problem serializing the document to the stream.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.