## org.apache.commons.configuration.tree
Class DefaultConfigurationKey.KeyIterator

    java.lang.Object
      org.apache.commons.configuration.tree.DefaultConfigurationKey.KeyIterator

All Implemented Interfaces:
  Cloneable, Iterator

Enclosing class:
  DefaultConfigurationKey

    public class DefaultConfigurationKey.KeyIterator

extends Object
implements Iterator, Cloneable

A specialized iterator class for tokenizing a configuration key. This class implements the normal iterator interface. In addition it provides some specific methods for configuration keys.

Constructor Summary
`DefaultConfigurationKey.KeyIterator()`

Method Summary
`Object` `clone()` Creates a clone of this object.
`String` `currentKey()` Returns the current key of the iteration (without skipping to the next element).
`String` `currentKey(boolean decorated)` Returns the current key of the iteration (without skipping to the next element).
`int` `getIndex()` Returns the index value of the current key.
`boolean` `hasIndex()` Returns a flag if the current key has an associated index.
`boolean` `hasNext()` Checks if there is a next element.
`boolean` `isAttribute()` Returns a flag if the current key is an attribute.
`boolean` `isPropertyKey()` Returns a flag whether the current key refers to a property (i.e. is no special attribute key).
`Object` `next()` Returns the next object in the iteration.
`String` `nextKey()` Returns the next key part of this configuration key.
`String` `nextKey(boolean decorated)` Returns the next key part of this configuration key.
`void` `remove()` Removes the current object in the iteration.

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

Constructor Detail

### DefaultConfigurationKey.KeyIterator

    public DefaultConfigurationKey.KeyIterator()

Method Detail

### nextKey

    public String nextKey()

  Returns the next key part of this configuration key. This is a short form of `nextKey(false)`.

  Returns:
    the next key part

### nextKey

    public String nextKey(boolean decorated)

  Returns the next key part of this configuration key. The boolean parameter indicates wheter a decorated key should be returned. This affects only attribute keys: if the parameter is false, the attribute markers are stripped from the key; if it is true, they remain.

  Parameters:
    `decorated` - a flag if the decorated key is to be returned
  Returns:
    the next key part

### hasNext

    public boolean hasNext()

  Checks if there is a next element.

  Specified by:
    `hasNext` in interface `Iterator`
  Returns:
    a flag if there is a next element

### next

    public Object next()

  Returns the next object in the iteration.

  Specified by:
    `next` in interface `Iterator`
  Returns:
    the next object

### remove

    public void remove()

  Removes the current object in the iteration. This method is not supported by this iterator type, so an exception is thrown.

  Specified by:
    `remove` in interface `Iterator`

### currentKey

    public String currentKey()

  Returns the current key of the iteration (without skipping to the next element). This is the same key the previous `next()` call had returned. (Short form of `currentKey(false)`.

  Returns:
    the current key

### currentKey

    public String currentKey(boolean decorated)

  Returns the current key of the iteration (without skipping to the next element). The boolean parameter indicates wheter a decorated key should be returned. This affects only attribute keys: if the parameter is false, the attribute markers are stripped from the key; if it is true, they remain.

  Parameters:
    `decorated` - a flag if the decorated key is to be returned
  Returns:
    the current key

### isAttribute

    public boolean isAttribute()

  Returns a flag if the current key is an attribute. This method can be called after `next()`.

  Returns:
    a flag if the current key is an attribute

### isPropertyKey

    public boolean isPropertyKey()

  Returns a flag whether the current key refers to a property (i.e. is no special attribute key). Usually this method will return the opposite of `isAttribute()`, but if the delimiters for normal properties and attributes are set to the same string, it is possible that both methods return true.

  Returns:
    a flag if the current key is a property key
  See Also:
    `isAttribute()`

### getIndex

    public int getIndex()

  Returns the index value of the current key. If the current key does not have an index, return value is -1. This method can be called after `next()`.

  Returns:
    the index value of the current key

### hasIndex

    public boolean hasIndex()

  Returns a flag if the current key has an associated index. This method can be called after `next()`.

  Returns:
    a flag if the current key has an index

### clone

    public Object clone()

  Creates a clone of this object.

  Overrides:
    `clone` in class `Object`
  Returns:
    a clone of this object

Copyright © 2001-2006 The Apache Software Foundation. All Rights Reserved.