Saturday, September 28, 2013

Surrougate Map = US DEA agents arrest three 'contract assassins'


/**
 * Surrougate classes are specialized classes that hide the implementation
 * and provide 2 operator 1 ,2 to play. always surrougating one of the operators.
    Lembrando que o Surrougate, nao eh nem um BussinessDelegate nem um Decorator,
    porque eles esta "surrogando ou escondendo o verdeiro tesouro".
    Eh o padrao projeto, tipo "Escondedor", feito por um individuo tipo escorredor, "Chorão"
    Essa imagem me lembra na alemanha, como alemao nao pode ter a "BOMBA", eles estao desenvolvendo um canhao de lazer RGB que sera montado num satelite... ;-)
Agente nao esquece nao...
 */

package org.nanotek.lucene.query;

import java.util.Map;
import java.util.Set;

import org.nanotek.util.Base;

public class SurrougateMap<T1, T2> {

private Map<String,Base<?>> queryParameters;

public Map<String, Base<?>> getQueryParameters() {
return queryParameters;
}

public void setQueryParameters(Map<String, Base<?>> queryParameters) {
this.queryParameters = queryParameters;
}


public boolean isEmpty() {
return queryParameters.isEmpty();
}

public boolean containsKey(Object key) {
return queryParameters.containsKey(key);
}

public boolean containsValue(Object value) {
return queryParameters.containsValue(value);
}

public Base<?> get(Object key) {
return queryParameters.get(key);
}

public Base<?> put(String key, Base<?> value) {
return queryParameters.put(key, value);
}

public void putAll(Map<? extends String, ? extends Base<?>> m) {
queryParameters.putAll(m);
}

public void clear() {
queryParameters.clear();
}

public Set<String> keySet() {
return queryParameters.keySet();
}
}