com.generationjava.collections
Class FQMap

java.lang.Object
  |
  +--com.generationjava.collections.FQMap
All Implemented Interfaces:
java.util.Map

public class FQMap
extends java.lang.Object
implements java.util.Map

A map which nests maps depending on a separator in the key. The default case is to use the '.' character.


Constructor Summary
FQMap()
           
FQMap(char c)
           
FQMap(java.util.Map m)
           
FQMap(java.util.Map m, char separator)
           
 
Method Summary
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Map createEmptyMap()
           
 java.util.Set entrySet()
           
 boolean equals(java.lang.Object o)
           
 java.lang.Object get(java.lang.Object key)
           
 java.util.Collection[] getSeparatedValues()
          returns an array of size 2.
 char getSeperationChar()
           
 int hashCode()
           
 boolean isEmpty()
           
 java.util.Set keySet()
          Returns a set view of the keys contained in this map.
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
           
 void putAll(java.util.Map t)
           
 java.lang.Object remove(java.lang.Object key)
          Unimplemented.
 int size()
           
 java.lang.String toString()
           
 java.util.Collection values()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FQMap

public FQMap(java.util.Map m,
             char separator)

FQMap

public FQMap()

FQMap

public FQMap(java.util.Map m)

FQMap

public FQMap(char c)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

createEmptyMap

public java.util.Map createEmptyMap()

getSeperationChar

public char getSeperationChar()

getSeparatedValues

public java.util.Collection[] getSeparatedValues()
returns an array of size 2. First element is a Collection of the values that are FQMaps, second element is the values that aren`t FQMaps.


clear

public void clear()
Specified by:
clear in interface java.util.Map

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map

entrySet

public java.util.Set entrySet()
Specified by:
entrySet in interface java.util.Map

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface java.util.Map
Overrides:
equals in class java.lang.Object

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface java.util.Map

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Map
Overrides:
hashCode in class java.lang.Object

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map

keySet

public java.util.Set keySet()
Returns a set view of the keys contained in this map. BUG: If a FQMap is intentionally added to an FQMap, rather than created through a fully qualified key, such that put(someObj,FQMap) is effectively done, and then this top level FQMap is added to another, either intentionally or under the fully qualified scheme, then the keySet will contain the stringied version of someObj, which means that a request with this key will _not_ work, unless someObj's hashCode() and equals() are such that someObj equals the stringified version of someObj. To this end, a fix is to wrap all keys coming back out in a 'FQKey' object which contains an ArrayList of all subkeys. Code would need changing so a value may be obtained using this FQKey. Also to note, the stringified form of an object is fully qualified, using '.' as the package/class seperator. ie) the default behaviour of this class.

Specified by:
keySet in interface java.util.Map

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map

putAll

public void putAll(java.util.Map t)
Specified by:
putAll in interface java.util.Map

remove

public java.lang.Object remove(java.lang.Object key)
Unimplemented.

Specified by:
remove in interface java.util.Map

size

public int size()
Specified by:
size in interface java.util.Map

values

public java.util.Collection values()
Specified by:
values in interface java.util.Map


Copyright © 2000-2003 OSJava. All Rights Reserved.