import java.util.Map;
import org.cacert.gigi.GigiApiException;
+import org.cacert.gigi.database.DBEnum;
import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.database.GigiResultSet;
import org.cacert.gigi.dbObjects.NamePart.NamePartType;
public class Name implements Outputable, IdCachable {
+ public static enum NameSchemaType implements DBEnum {
+ SINGLE, WESTERN;
+
+ @Override
+ public String getDBName() {
+ return toString().toLowerCase();
+ }
+
+ }
+
private abstract static class SchemedName {
/**
*/
public abstract String toAbbreviatedString();
- public abstract String getSchemeName();
+ public abstract NameSchemaType getSchemeName();
/**
* @see Name#output(PrintWriter, Language, Map)
}
@Override
- public String getSchemeName() {
- return "single";
+ public NameSchemaType getSchemeName() {
+ return NameSchemaType.SINGLE;
}
@Override
}
@Override
- public String getSchemeName() {
- return "western";
+ public NameSchemaType getSchemeName() {
+ return NameSchemaType.WESTERN;
}
@Override
private SchemedName scheme;
/**
- * This name should not get assured anymore and therefore not be displayed
+ * This name should not get verifed anymore and therefore not be displayed
* to the RA-Agent. This state is irrevocable.
*/
private boolean deprecated;
}
try (GigiPreparedStatement inserter = new GigiPreparedStatement("INSERT INTO `names` SET `uid`=?, `type`=?::`nameSchemaType`")) {
inserter.setInt(1, u.getId());
- inserter.setString(2, scheme.getSchemeName());
+ inserter.setEnum(2, scheme.getSchemeName());
inserter.execute();
id = inserter.lastInsertId();
}
inserter.setInt(1, id);
for (int i = 0; i < np.length; i++) {
inserter.setInt(2, i);
- inserter.setString(3, np[i].getType().getDbValue());
+ inserter.setEnum(3, np[i].getType());
inserter.setString(4, np[i].getValue());
inserter.execute();
}