xapi.collect.api.Dictionary Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-dev Show documentation
Show all versions of xapi-dev Show documentation
Everything needed to run a comprehensive dev environment.
Just type X_ and pick a service from autocomplete;
new dev modules will be added as they are built.
The only dev service not included in the uber jar is xapi-dev-maven,
as it includes all runtime dependencies of maven, adding ~4 seconds to build time,
and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).
The newest version!
package xapi.collect.api;
import xapi.util.api.ReceivesValue;
/**
* A simple dictionary interface, that avoids overwriting java.util.Map
* interface methods, and can bind to whatever native construct
* best supports an Object-to-Object mapping. JSOs in javascript, HashMap in jre
*
* Note that JSO support requires a key-transformer for everything but String;
* if you want maximum runtime performance, use {@link xapi.gwt.collect.StringToGwt},
* or {@link xapi.collect.X_Collect::newStringDictionary()}
*
* @author "James X. Nelson ([email protected])"
*
* @param -
* @param
*/
public interface Dictionary {
boolean hasKey(K key);
V getValue(K key);
V setValue(K key, V value);
V removeValue(K key);
void clearValues();
void forKeys(ReceivesValue receiver);
}