Package org.apache.commons.configuration2.tree

## Class DefaultConfigurationKey.KeyIterator

- java.lang.Object
- - org.apache.commons.configuration2.tree.DefaultConfigurationKey.KeyIterator

- All Implemented Interfaces:
    `Cloneable`, `Iterator<Object>`
  Enclosing class:
    DefaultConfigurationKey

      public class DefaultConfigurationKey.KeyIterator
      extends Object
      implements Iterator<Object>, 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

    Constructors
    Constructor | Description
    --- | ---
    `KeyIterator()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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()` | Gets 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.
    `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`

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining`

- - ### Constructor Detail

    - #### KeyIterator

          public 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<Object>`
      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<Object>`
      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<Object>`

    - #### 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()

      Gets 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