package foundation.io.object;
|
|
import java.util.ArrayList;
|
import java.util.Collection;
|
import java.util.HashSet;
|
import java.util.Map;
|
import java.util.Set;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
import foundation.data.entity.Entity;
|
|
public class EntityValueMap implements Map<String, Object> {
|
|
protected static Logger logger;
|
private Entity entity;
|
|
static {
|
logger = LogManager.getLogger(EntityValueMap.class);
|
}
|
|
public EntityValueMap(Entity entity) {
|
this.entity = entity;
|
}
|
|
@Override
|
public int size() {
|
return entity.getFieldCount();
|
}
|
|
@Override
|
public boolean isEmpty() {
|
return entity.isEmpty();
|
}
|
|
@Override
|
public boolean containsKey(Object key) {
|
return entity.contains(String.valueOf(key));
|
}
|
|
@Override
|
public boolean containsValue(Object value) {
|
return true;
|
}
|
|
@Override
|
public Object get(Object key) {
|
if (key == null) {
|
return null;
|
}
|
|
Object value = entity.getValue(String.valueOf(key));
|
return value;
|
}
|
|
@Override
|
public Object put(String key, Object value) {
|
Object old = entity.getValue(key);
|
entity.set(key, value);
|
return old;
|
}
|
|
@Override
|
public Object remove(Object key) {
|
String name = String.valueOf(key);
|
Object old = entity.getValue(name);
|
entity.set(name, null);
|
return old;
|
}
|
|
@Override
|
public void putAll(Map<? extends String, ? extends Object> map) {
|
}
|
|
@Override
|
public void clear() {
|
}
|
|
@Override
|
public Set<String> keySet() {
|
String[] names = entity.getFieldsMeta().getFieldNames();
|
|
Set<String> result = new HashSet<String>();
|
for (String name: names) {
|
result.add(name);
|
}
|
|
return result;
|
}
|
|
@Override
|
public Collection<Object> values() {
|
return new ArrayList<Object>();
|
}
|
|
@Override
|
public Set<Entry<String, Object>> entrySet() {
|
return new HashSet<Map.Entry<String,Object>>();
|
}
|
|
}
|