net.yadaframework.raw.YadaLookupTableThree Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of yadaweb Show documentation
Show all versions of yadaweb Show documentation
Some useful tasks for the Yada Framework
package net.yadaframework.raw;
import java.util.HashMap;
import java.util.Map;
/**
* Implements a table with three columns: two keys and one value. The purpose is to return the third value given the first two ones.
* Can't have rows with the same keys.
* @param the type of column 1
* @param the type of column 2
* @param the type of the value
*/
public class YadaLookupTableThree {
Map> col1 = new HashMap<>();
/**
* Add a new row to the table. Any value can be null.
*/
public void put(K1 key1, K2 key2, V value) {
Map col2 = col1.get(key1);
if (col2==null) {
col2 = new HashMap<>();
col1.put(key1, col2);
}
col2.put(key2, value);
}
/**
* Get the value of the last column given the first ones
* @param key1 can be null
* @param key2 can be null
* @return the value of column 3, or null
*/
public V get(K1 key1, K2 key2) {
Map col2 = col1.get(key1);
if (col2!=null) {
return col2.get(key2);
}
return null;
}
}