net.ranides.assira.collection.map
Class CrossEnumMap<KX extends Enum<KX>,KY extends Enum<KY>,V>

java.lang.Object
  extended by net.ranides.assira.collection.map.CrossEnumMap<KX,KY,V>
Type Parameters:
KX -
KY -
V -
All Implemented Interfaces:
CrossMap<KX,KY,V>

public final class CrossEnumMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
extends Object
implements CrossMap<KX,KY,V>

Implementacja dwu-wymiarowej mapy zoptymalizowana dla typów Enum.

Author:
ranides

Constructor Summary
CrossEnumMap(Class<KX> xclass, Class<KY> yclass)
          Tworzy pustą mapę, która jako współrzędnych używa podanych typów enum.
 
Method Summary
 void clear()
          Usuwa całą zawartość mapy.
 boolean contains(KX x, KY y)
          Sprawdza, czy zawiera wartość przypisaną do podanych kluczy.
 V get(KX x, KY y)
          Pobiera wartość przypisaną do podanych kluczy.
 boolean isEmpty()
          Sprawdza, czy mapa jest pusta.
 V put(KX x, KY y, V value)
          Przypisuje nową wartość do podanych kluczy.
 MultiMap<KX,V> reduceY()
          Redukuje klucz drugiego rzędu i zwraca multi-mapę zawierającą klucze główne i przypisane im wartości
 MultiMap<KX,KY> reduceZ()
          Redukuje przypisane wartości i zwraca multi-mapę zawierającą klucze
 V remove(KX x, KY y)
          Usuwa wartość przypisaną do podanych kluczy.
 int size()
          Zwraca rozmiar mapy.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CrossEnumMap

public CrossEnumMap(Class<KX> xclass,
                    Class<KY> yclass)
Tworzy pustą mapę, która jako współrzędnych używa podanych typów enum.

Parameters:
xclass -
yclass -
Method Detail

contains

public boolean contains(KX x,
                        KY y)
Description copied from interface: CrossMap
Sprawdza, czy zawiera wartość przypisaną do podanych kluczy.

Specified by:
contains in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:

put

public V put(KX x,
             KY y,
             V value)
Description copied from interface: CrossMap
Przypisuje nową wartość do podanych kluczy.

Specified by:
put in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:
poprzednio przypisana wartość lub null.

remove

public V remove(KX x,
                KY y)
Description copied from interface: CrossMap
Usuwa wartość przypisaną do podanych kluczy.

Specified by:
remove in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:
usunięta wartość lub null.

get

public V get(KX x,
             KY y)
Description copied from interface: CrossMap
Pobiera wartość przypisaną do podanych kluczy.

Specified by:
get in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:
przypisana wartość lub null.

size

public int size()
Description copied from interface: CrossMap
Zwraca rozmiar mapy.

Specified by:
size in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:

isEmpty

public boolean isEmpty()
Description copied from interface: CrossMap
Sprawdza, czy mapa jest pusta.

Specified by:
isEmpty in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:

clear

public void clear()
Description copied from interface: CrossMap
Usuwa całą zawartość mapy.

Specified by:
clear in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>

reduceZ

public MultiMap<KX,KY> reduceZ()
Description copied from interface: CrossMap
Redukuje przypisane wartości i zwraca multi-mapę zawierającą klucze

Specified by:
reduceZ in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:

reduceY

public MultiMap<KX,V> reduceY()
Description copied from interface: CrossMap
Redukuje klucz drugiego rzędu i zwraca multi-mapę zawierającą klucze główne i przypisane im wartości

Specified by:
reduceY in interface CrossMap<KX extends Enum<KX>,KY extends Enum<KY>,V>
Returns:


Copyright © 2013. All Rights Reserved.