BuiltDataPhenomenonInstance.java
package eu.javaexperience.data.build;
import java.util.HashMap;
import java.util.Map;
import eu.javaexperience.data.DataPhenomenon;
import eu.javaexperience.data.DataPhenomenonEnvironment;
import eu.javaexperience.data.DataPhenomenonInstance;
import eu.javaexperience.data.DataPhenomenonUnit;
import eu.javaexperience.verify.EnvironmentDependValidator;
public class BuiltDataPhenomenonInstance implements DataPhenomenonInstance
{
protected final DataPhenomenon phenomenon;
protected final String name;
protected final boolean required;
protected final EnvironmentDependValidator<DataPhenomenonEnvironment, DataPhenomenonUnit, String> validator;
public BuiltDataPhenomenonInstance
(
DataPhenomenon dataPhenomenon,
String name,
boolean req,
EnvironmentDependValidator<DataPhenomenonEnvironment, DataPhenomenonUnit, String> validator
)
{
this.phenomenon = dataPhenomenon;
this.name = name;
this.required = req;
this.validator = validator;
}
protected static Map<String, Object> passOrInit(Map<String, Object> map)
{
if(null != map)
{
return map;
}
return new HashMap<>();
}
protected Map<String, Object> map;
@Override
public Map<String, Object> getExtraDataMap()
{
return passOrInit(map);
}
@Override
public DataPhenomenon getPhenomenon()
{
return phenomenon;
}
@Override
public String getFieldName()
{
return name;
}
@Override
public boolean isRequired()
{
return required;
}
@Override
public EnvironmentDependValidator<DataPhenomenonEnvironment, DataPhenomenonUnit, String> getValidator()
{
return validator;
}
}