com.virtualweaver.xotics.datamodel.datatype
Class XdtBidiMap

java.lang.Object
  extended bycom.virtualweaver.xotics.datamodel.datatype.XdtBidiMap
All Implemented Interfaces:
java.lang.Cloneable

public final class XdtBidiMap
extends java.lang.Object
implements java.lang.Cloneable

A bidirectional map class, where a key and a value can be stored, but where key can serve to retrieve value, and value can serve to retrieve key. Rather than using 'key' and 'value' terms, here we use 'start' and 'end' terms : if a couple (start, end) is stored via a put*() method, then end value can be got by getForward(Object) with start as param, and start value can be got by getReverse(Object) with end as param.

Version:
4.1

Constructor Summary
XdtBidiMap()
           
 
Method Summary
 java.lang.Object clone()
           
 boolean containsForwardKey(java.lang.Object start)
          Returns true if param start exists
 boolean containsReverseKey(java.lang.Object end)
          Returns true if param end exists
 java.util.Set forwardKeySet()
          Returns the list of start values
 java.lang.Object getForward(java.lang.Object start)
          Returns end value giving start value
 java.lang.Object getReverse(java.lang.Object end)
          Returns start value giving end value
 void putAll(XdtBidiMap extm)
          Integrates all content of param extm
 void putForward(java.lang.Object start, java.lang.Object end)
          Stores a couple of values.
 void putReverse(java.lang.Object end, java.lang.Object start)
          Stores a couple of values.
 java.lang.Object removeForward(java.lang.Object start)
          Removes (start, end) mapping by giving start value
 java.lang.Object removeReverse(java.lang.Object end)
          Removes (start, end) mapping by giving end value
 java.util.Set reverseKeySet()
          Returns the list of end values
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XdtBidiMap

public XdtBidiMap()
Method Detail

putForward

public void putForward(java.lang.Object start,
                       java.lang.Object end)
Stores a couple of values.

Parameters:
start - start value
end - end value

putReverse

public void putReverse(java.lang.Object end,
                       java.lang.Object start)
Stores a couple of values.

Parameters:
end - end value
start - start value

getForward

public java.lang.Object getForward(java.lang.Object start)
Returns end value giving start value

Parameters:
start - start value
Returns:
end value or null if not found

getReverse

public java.lang.Object getReverse(java.lang.Object end)
Returns start value giving end value

Parameters:
end - end value
Returns:
start value or null if not found

removeForward

public java.lang.Object removeForward(java.lang.Object start)
Removes (start, end) mapping by giving start value

Parameters:
start - start value of couple to remove
Returns:
end value of removed couple or null if not found

removeReverse

public java.lang.Object removeReverse(java.lang.Object end)
Removes (start, end) mapping by giving end value

Parameters:
end - end value of couple to remove
Returns:
start value of removed couple or null if not found

containsForwardKey

public boolean containsForwardKey(java.lang.Object start)
Returns true if param start exists

Parameters:
start - start value to search for
Returns:
true if such value exists as start value

containsReverseKey

public boolean containsReverseKey(java.lang.Object end)
Returns true if param end exists

Parameters:
end - end value to search for
Returns:
true if such value exists as end value

forwardKeySet

public java.util.Set forwardKeySet()
Returns the list of start values

Returns:
a Set containing all the start values

reverseKeySet

public java.util.Set reverseKeySet()
Returns the list of end values

Returns:
a Set containing all the end values

putAll

public void putAll(XdtBidiMap extm)
Integrates all content of param extm

Parameters:
extm - external map whose content is to be integrated

clone

public java.lang.Object clone()