//idega 2000 - Tryggvi Larusson
/*
*Copyright 2000 idega.is All Rights Reserved.
*/
package com.idega.util.datastructures;
import java.util.*;
import com.idega.util.*;
/**
*Class similar to Hashtable but with two keys for each value
*@author <a href="mailto:tryggvi@idega.is">Tryggvi Larusson</a>
*@version 0.9
*/
public class HashtableDoubleKeyed{
private Hashtable table;
private HashtableMultivalued tableForKeys;
public HashtableDoubleKeyed(){
this.table = new Hashtable();
this.tableForKeys=new HashtableMultivalued();
}
public Object put(String key1,String key2,Object value){
this.tableForKeys.put(key1,value);
this.tableForKeys.put(key2,value);
return this.table.put(StringHandler.concatAlphabetically(key1,key2),value);
}
public Object get(String key1,String key2){
return this.table.get(StringHandler.concatAlphabetically(key1,key2));
}
public Object remove(String key1,String key2){
return this.table.remove(StringHandler.concatAlphabetically(key1,key2));
}
public Enumeration keys(){
return this.table.keys();
}
public Enumeration elements(){
return this.table.elements();
}
/**
* Returns a list of objects put for this key
*/
public List get(String key){
return this.tableForKeys.getList(key);
}
}