package io.ebeaninternal.server.type;
import io.ebean.core.type.DataBinder;
import io.ebean.core.type.DataReader;
import javax.persistence.EnumType;
import java.sql.SQLException;
import java.sql.Types;
import java.time.DayOfWeek;
public class ScalarTypeDayOfWeek extends ScalarTypeEnumWithMapping {
static final EnumToDbIntegerMap beanDbMap = new EnumToDbIntegerMap();
static {
DayOfWeek[] values = DayOfWeek.values();
for (DayOfWeek value : values) {
beanDbMap.add(value, value.getValue(), value.name());
}
}
public ScalarTypeDayOfWeek() {
super(beanDbMap, DayOfWeek.class, 1);
}
@Override
public boolean isOverrideBy(EnumType type) {
return type != null;
}
@Override
public void bind(DataBinder binder, Object value) throws SQLException {
if (value == null) {
binder.setNull(Types.INTEGER);
} else {
binder.setInt(((DayOfWeek) value).getValue());
}
}
@Override
public Object read(DataReader reader) throws SQLException {
Integer i = reader.getInt();
if (i == null) {
return null;
} else {
return DayOfWeek.of(i);
}
}
}