package org.molgenis.annotation.cmd.data; import org.molgenis.data.DataConverter; import org.molgenis.data.Entity; import org.molgenis.data.meta.model.EntityType; import org.springframework.util.LinkedCaseInsensitiveMap; import java.sql.Timestamp; import java.util.Map; public class CmdLineSettingsEntity implements Entity { private static final long serialVersionUID = 1L; private final Map<String, Object> values = new LinkedCaseInsensitiveMap<>(); @Override public EntityType getEntityType() { throw new UnsupportedOperationException(); } @Override public Iterable<String> getAttributeNames() { throw new UnsupportedOperationException(); } @Override public Object getIdValue() { throw new UnsupportedOperationException(); } @Override public void setIdValue(Object id) { throw new UnsupportedOperationException(); } @Override public String getLabelValue() { throw new UnsupportedOperationException(); } @Override public Object get(String attributeName) { return getString(attributeName); } @Override public String getString(String attributeName) { return DataConverter.toString(values.get(attributeName)); } @Override public Integer getInt(String attributeName) { return DataConverter.toInt(values.get(attributeName)); } @Override public Long getLong(String attributeName) { return DataConverter.toLong(values.get(attributeName)); } @Override public Boolean getBoolean(String attributeName) { return DataConverter.toBoolean(values.get(attributeName)); } @Override public Double getDouble(String attributeName) { return DataConverter.toDouble(values.get(attributeName)); } @Override public java.sql.Date getDate(String attributeName) { java.util.Date utilDate = getUtilDate(attributeName); return utilDate != null ? new java.sql.Date(utilDate.getTime()) : null; } @Override public java.util.Date getUtilDate(String attributeName) { throw new UnsupportedOperationException(); } @Override public Timestamp getTimestamp(String attributeName) { throw new UnsupportedOperationException(); } @SuppressWarnings("unchecked") @Override public Entity getEntity(String attributeName) { throw new UnsupportedOperationException(); } @Override public <E extends Entity> E getEntity(String attributeName, Class<E> clazz) { throw new UnsupportedOperationException(); } @SuppressWarnings("unchecked") @Override public Iterable<Entity> getEntities(String attributeName) { throw new UnsupportedOperationException(); } @Override public <E extends Entity> Iterable<E> getEntities(String attributeName, Class<E> clazz) { throw new UnsupportedOperationException(); } @Override public void set(String attributeName, Object value) { values.put(attributeName, value); } @Override public void set(Entity entity) { throw new UnsupportedOperationException(); } @Override public String toString() { return getLabelValue(); } }