org.simpleflatmapper.datastax.impl.getter.DatastaxMapWithConverterGetter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sfm-datastax Show documentation
Show all versions of sfm-datastax Show documentation
Cassandra Datastax SFM supports.
package org.simpleflatmapper.datastax.impl.getter;
import com.datastax.driver.core.GettableByIndexData;
import org.simpleflatmapper.reflect.Getter;
import org.simpleflatmapper.converter.ContextualConverter;
import java.util.HashMap;
import java.util.Map;
public class DatastaxMapWithConverterGetter implements Getter> {
private final int index;
private final Class keyType;
private final Class valueType;
private final ContextualConverter keyConverter;
private final ContextualConverter valueConverter;
public DatastaxMapWithConverterGetter(int index, Class keyType, Class valueType, ContextualConverter keyConverter, ContextualConverter valueConverter) {
this.index = index;
this.keyType = keyType;
this.valueType = valueType;
this.keyConverter = keyConverter;
this.valueConverter = valueConverter;
}
@Override
public Map get(GettableByIndexData target) throws Exception {
Map map = target.getMap(index, keyType, valueType);
Map outMap = new HashMap();
for(Map.Entry e : map.entrySet()) {
outMap.put(keyConverter.convert(e.getKey(), null), valueConverter.convert(e.getValue(), null));
}
return outMap;
}
}