Hallo zusammen,
ich habe bisher innerhalb verschiedener Entities (zB Customer) mir ein Enum angelegt, mit welchem ich weitere Infos über die vorhandenen Felder bekomme.
Bisher habe ich nun in jeder Klasse solch ein Enum erstellt.
Die Frage ist nun aber, ob ich das nicht eleganter lösen kann. Wenn ich die Getter + Setter, & Kontruktor des Enumns nicht in jeder Entity anlegen müsste, wäre das schon mal vorteilhafter... Also wenn ich nur die ersten 4 Zeilen pro Entity hätte (in dem Beispiel nur die Zeilen zur Deklarierung von; ACADEMIC_TITLE und CUSTOMER_NUMBER)...
Kann ich das Enum außerhalb der Klasse lagern?
Danke für die Tipps
ich habe bisher innerhalb verschiedener Entities (zB Customer) mir ein Enum angelegt, mit welchem ich weitere Infos über die vorhandenen Felder bekomme.
Bisher habe ich nun in jeder Klasse solch ein Enum erstellt.
Die Frage ist nun aber, ob ich das nicht eleganter lösen kann. Wenn ich die Getter + Setter, & Kontruktor des Enumns nicht in jeder Entity anlegen müsste, wäre das schon mal vorteilhafter... Also wenn ich nur die ersten 4 Zeilen pro Entity hätte (in dem Beispiel nur die Zeilen zur Deklarierung von; ACADEMIC_TITLE und CUSTOMER_NUMBER)...
Kann ich das Enum außerhalb der Klasse lagern?
Java:
////////////////////
////// FIELDS
////////////////////
public enum EntityField {
ACADEMIC_TITLE("ACADEMIC_TITLE", ENTITY_NAME_SPACE + "ACADEMIC_TITLE", ENTITY_NAME, "Akademischer Titel",
"Kunde: Akademischer Titel", DataTypeEnum.TEXT, null, OperatorEnum.listAllStringOperator(), true), //
CUSTOMER_NUMBER("CUSTOMER_NUMBER", ENTITY_NAME_SPACE + "CUSTOMER_NUMBER", ENTITY_NAME, "Kundennummer",
"Kunde: Kundennummer", DataTypeEnum.TEXT, null, OperatorEnum.listAllStringOperator(), true), //
/////////////////////////
private String fieldName; // Feldname
private String uniqueFieldName; // eindeutiger Name
private String entity; // Entität
private String languageName; // Name in entsprechender Sprache
private String languageNameEntity; // Name in entsprechender Sprache (mit Entität davor)
private DataTypeEnum fieldType; // Datentyp
private Object fieldValue; // Vorbelegter Wert (bei Geschlecht Herr/Frau)
private List<Object> fieldValueList; // Vorbelegter Wert (bei Geschlecht Herr/Frau)
private List<OperatorEnum> operatorList; // Liste von Operatoren
private boolean ruleRelevant; // Für Regel relevant
/////////////////////////
private EntityField(String fieldName, String languageName) {
this.fieldName = fieldName;
this.languageName = languageName;
}
private EntityField(String fieldName, String uniqueFieldName, String entity, String languageName,
String languageNameEntity, DataTypeEnum fieldType, Object fieldValue, List<OperatorEnum> operatorList,
boolean ruleRelevant) {
this.fieldName = fieldName;
this.uniqueFieldName = uniqueFieldName;
this.entity = entity;
this.languageName = languageName;
this.languageNameEntity = languageNameEntity;
this.fieldType = fieldType;
this.fieldValue = fieldValue;
this.operatorList = operatorList;
this.ruleRelevant = ruleRelevant;
}
private EntityField(String fieldName, String uniqueFieldName, String entity, String languageName,
String languageNameEntity, DataTypeEnum fieldType, List<Object> fieldValueList,
List<OperatorEnum> operatorList, boolean ruleRelevant) {
this.fieldName = fieldName;
this.uniqueFieldName = uniqueFieldName;
this.entity = entity;
this.languageName = languageName;
this.languageNameEntity = languageNameEntity;
this.fieldType = fieldType;
this.fieldValueList = fieldValueList;
this.operatorList = operatorList;
this.ruleRelevant = ruleRelevant;
}
public String getEntity() {
return entity;
}
public void setEntity(String entity) {
this.entity = entity;
}
public List<Object> getFieldValueList() {
return fieldValueList;
}
... Getter + Setter
}
Danke für die Tipps