org.apache.commons.configuration

Class ConfigurationKey.KeyIterator

public class ConfigurationKey.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.
Field Summary
booleanattribute
Stores a flag if the actual property is an attribute.
Stringcurrent
Stores the current key name.
intendIndex
Stores the end index of the actual token.
booleanhasIndex
Stores a flag if the actual property has an index.
intindexValue
Stores the index of the actual property if there is one.
intstartIndex
Stores the start index of the actual token.
Method Summary
booleancheckAttribute(String key)
Helper method for checking if the passed key is an attribute.
booleancheckIndex(String key)
Helper method for checking if the passed key contains an index.
Objectclone()
Creates a clone of this object.
StringcurrentKey()
Returns the current key of the iteration (without skipping to the next element).
StringcurrentKey(boolean decorated)
Returns the current key of the iteration (without skipping to the next element).
StringfindNextIndices()
Helper method for determining the next indices.
intgetIndex()
Returns the index value of the current key.
booleanhasIndex()
Returns a flag if the current key has an associated index.
booleanhasNext()
Checks if there is a next element.
booleanisAttribute()
Returns a flag if the current key is an attribute.
Objectnext()
Returns the next object in the iteration.
StringnextKey()
Returns the next key part of this configuration key.
StringnextKey(boolean decorated)
Returns the next key part of this configuration key.
StringnextKeyPart()
Helper method for extracting the next key part.
voidremove()
Removes the current object in the iteration.

Field Detail

attribute

private boolean attribute
Stores a flag if the actual property is an attribute.

current

private String current
Stores the current key name.

endIndex

private int endIndex
Stores the end index of the actual token.

hasIndex

private boolean hasIndex
Stores a flag if the actual property has an index.

indexValue

private int indexValue
Stores the index of the actual property if there is one.

startIndex

private int startIndex
Stores the start index of the actual token.

Method Detail

checkAttribute

private boolean checkAttribute(String key)
Helper method for checking if the passed key is an attribute. If this is the case, the internal fields will be set.

Parameters: key the key to be checked

Returns: a flag if the key is an attribute

checkIndex

private boolean checkIndex(String key)
Helper method for checking if the passed key contains an index. If this is the case, internal fields will be set.

Parameters: key the key to be checked

Returns: a flag if an index is defined

clone

public Object clone()
Creates a clone of this object.

Returns: a clone of this 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

findNextIndices

private String findNextIndices()
Helper method for determining the next indices.

Returns: the next key part

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

hasNext

public boolean hasNext()
Checks if there is a next element.

Returns: a flag if there is a next element

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

next

public Object next()
Returns the next object in the iteration.

Returns: the next object

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

nextKeyPart

private String nextKeyPart()
Helper method for extracting the next key part. Takes escaping of delimiter characters into account.

Returns: the next key part

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.