*/
package eu.etaxonomy.taxeditor.preference;
+import java.lang.reflect.Field;
+
/**
* @author k.luther
* @date 16.12.2016
*/
public class NameDetailsConfigurator {
- private boolean isAllowOverride = true;
- private boolean isSimpleDetailsViewActivated = true;
-
- private boolean isTaxonSectionActivated = true;
- private boolean isLSIDActivated = true;
- private boolean isNomenclaturalCodeActived = true;
- private boolean isNameCacheActivated = true;
- private boolean isAppendedPhraseActivated = true;
- private boolean isRankActivated = true;
- private boolean isAtomisedEpithetsActivated = true;
- private boolean isAuthorshipSectionActivated = true;
- private boolean isAuthorCacheActivated = true;
- private boolean isNomenclaturalReferenceSectionActivated = true;
- private boolean isNomenclaturalStatusSectionActivated = true;
- private boolean isTypeDesignationSectionActivated = true;
- private boolean isNameRelationsSectionActivated = true;
- private boolean isProtologueActivated = true;
- private boolean isHybridActivated = true;
-
- private boolean isNameApprobiationActivated = true;
- private boolean isSecEnabled = true;
- private boolean isSecDetailsActivated = true;
-
- public NameDetailsConfigurator(boolean isSimpleDetailsViewActivated){
- this.isSimpleDetailsViewActivated = isSimpleDetailsViewActivated;
- }
-
- public boolean isSimpleDetailsViewActivated() {
- return isSimpleDetailsViewActivated;
- }
-
- public void setSimpleDetailsViewActivated(boolean isSimpleDetailsViewActivated) {
- this.isSimpleDetailsViewActivated = isSimpleDetailsViewActivated;
- }
+ boolean isAllowOverride = true;
+
+
+ boolean isTaxonSectionActivated = true;
+ boolean isLSIDActivated = true;
+ boolean isNomenclaturalCodeActived = true;
+ boolean isNameCacheActivated = true;
+ boolean isAppendedPhraseActivated = true;
+ boolean isRankActivated = true;
+ boolean isAtomisedEpithetsActivated = true;
+ boolean isAuthorshipSectionActivated = true;
+ boolean isAuthorCacheActivated = true;
+ boolean isNomenclaturalReferenceSectionActivated = true;
+ boolean isNomenclaturalStatusSectionActivated = true;
+ boolean isNomenclaturalStatusRuleConsideredActivated = true;
+ boolean isNomenclaturalStatusRuleConsideredCodeEditionActivated = true;
+ boolean isTypeDesignationSectionActivated = true;
+ boolean isNameRelationsSectionActivated = true;
+ boolean isNameRelationsRuleConsideredActivated = true;
+ boolean isNameRelationsRuleConsideredCodeEditionActivated = true;
+ boolean isProtologueActivated = true;
+ boolean isHybridActivated = true;
+
+ boolean isNameApprobiationActivated = true;
+ boolean isSecEnabled = true;
+ boolean isSecDetailsActivated = true;
+
+// public NameDetailsConfigurator(boolean isSimpleDetailsViewActivated){
+// this.isSimpleDetailsViewActivated = isSimpleDetailsViewActivated;
+// }
+//
+// public boolean isSimpleDetailsViewActivated() {
+// return isSimpleDetailsViewActivated;
+// }
+//
+// public void setSimpleDetailsViewActivated(boolean isSimpleDetailsViewActivated) {
+// this.isSimpleDetailsViewActivated = isSimpleDetailsViewActivated;
+// }
public boolean isTaxonSectionActivated() {
return isTaxonSectionActivated;
StringBuffer result = new StringBuffer();
//the preference value is build like this:
//<section1>:true;<section2>:false....
- result.append("simpleViewActivated");
- result.append(":");
- result.append(this.isSimpleDetailsViewActivated);
- result.append(";");
-
- result.append("taxon");
- result.append(":");
- result.append(this.isTaxonSectionActivated);
- result.append(";");
- result.append("taxon.SecEnabled");
- result.append(":");
- result.append(this.isSecEnabled);
- result.append(";");
- result.append("taxon.SecDetails");
- result.append(":");
- result.append(this.isSecDetailsActivated);
- result.append(";");
- result.append("nameCache");
- result.append(":");
- result.append(this.isNameCacheActivated);
- result.append(";");
- result.append("lsid");
- result.append(":");
- result.append(this.isLSIDActivated());
- result.append(";");
- result.append("nameApproviation");
- result.append(":");
- result.append(this.isNameApprobiationActivated());
- result.append(";");
- result.append("nc");
- result.append(":");
- result.append(this.isNomenclaturalCodeActived());
- result.append(";");
- result.append("ap");
- result.append(":");
- result.append(this.isAppendedPhraseActivated());
- result.append(";");
- result.append("rank");
- result.append(":");
- result.append(this.isRankActivated());
- result.append(";");
- result.append("author");
- result.append(":");
- result.append(this.isAuthorshipSectionActivated());
- result.append(";");
- result.append("authorCache");
- result.append(":");
- result.append(this.isAuthorCacheActivated());
- result.append(";");
- result.append("atomisedEpithets");
- result.append(":");
- result.append(this.isAtomisedEpithetsActivated());
- result.append(";");
- result.append("nomRef");
- result.append(":");
- result.append(this.isNomenclaturalReferenceSectionActivated());
- result.append(";");
- result.append("nomStat");
- result.append(":");
- result.append(this.isNomenclaturalStatusSectionActivated());
- result.append(";");
- result.append("protologue");
- result.append(":");
- result.append(this.isProtologueActivated());
- result.append(";");
- result.append("typeDes");
- result.append(":");
- result.append(this.isTypeDesignationSectionActivated());
- result.append(";");
- result.append("nameRelation");
- result.append(":");
- result.append(this.isNameRelationsSectionActivated());
- result.append(";");
- result.append("hybrid");
- result.append(":");
- result.append(this.isHybridActivated());
-
+ for (Field field: this.getClass().getDeclaredFields()){
+ result.append(field.getName());
+ result.append(":");
+ try {
+ result.append(field.get(this));
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ result.append(";");
+ }
+// result.append("simpleViewActivated");
+// result.append(":");
+// result.append(this.isSimpleDetailsViewActivated);
+// result.append(";");
+//
+// result.append("taxon");
+// result.append(":");
+// result.append(this.isTaxonSectionActivated);
+// result.append(";");
+// result.append("taxon.SecEnabled");
+// result.append(":");
+// result.append(this.isSecEnabled);
+// result.append(";");
+// result.append("taxon.SecDetails");
+// result.append(":");
+// result.append(this.isSecDetailsActivated);
+// result.append(";");
+// result.append("nameCache");
+// result.append(":");
+// result.append(this.isNameCacheActivated);
+// result.append(";");
+// result.append("lsid");
+// result.append(":");
+// result.append(this.isLSIDActivated());
+// result.append(";");
+// result.append("nameApproviation");
+// result.append(":");
+// result.append(this.isNameApprobiationActivated());
+// result.append(";");
+// result.append("nc");
+// result.append(":");
+// result.append(this.isNomenclaturalCodeActived());
+// result.append(";");
+// result.append("ap");
+// result.append(":");
+// result.append(this.isAppendedPhraseActivated());
+// result.append(";");
+// result.append("rank");
+// result.append(":");
+// result.append(this.isRankActivated());
+// result.append(";");
+// result.append("author");
+// result.append(":");
+// result.append(this.isAuthorshipSectionActivated());
+// result.append(";");
+// result.append("authorCache");
+// result.append(":");
+// result.append(this.isAuthorCacheActivated());
+// result.append(";");
+// result.append("atomisedEpithets");
+// result.append(":");
+// result.append(this.isAtomisedEpithetsActivated());
+// result.append(";");
+// result.append("nomRef");
+// result.append(":");
+// result.append(this.isNomenclaturalReferenceSectionActivated());
+// result.append(";");
+// result.append("nomStat");
+// result.append(":");
+// result.append(this.isNomenclaturalStatusSectionActivated());
+// result.append(";");
+// result.append("nomStatRuleConsidered");
+// result.append(":");
+// result.append(this.isNomenclaturalStatusRuleConsideredActivated);
+// result.append(";");
+// result.append("nomStatRuleConsideredCodeEdition");
+// result.append(":");
+// result.append(this.isNomenclaturalStatusRuleConsideredCodeEditionActivated);
+// result.append(";");
+// result.append("protologue");
+// result.append(":");
+// result.append(this.isProtologueActivated());
+// result.append(";");
+// result.append("typeDes");
+// result.append(":");
+// result.append(this.isTypeDesignationSectionActivated());
+// result.append(";");
+// result.append("nameRelation");
+// result.append(":");
+// result.append(this.isNameRelationsSectionActivated());
+// result.append(";");
+// result.append("nameRelationRuleConsidered");
+// result.append(":");
+// result.append(this.isNameRelationsRuleConsideredActivated);
+// result.append(";");
+// result.append("nameRelationRuleConsideredCodeEdition");
+// result.append(":");
+// result.append(this.isNameRelationsRuleConsideredCodeEditionActivated);
+// result.append(";");
+// result.append("hybrid");
+// result.append(":");
+// result.append(this.isHybridActivated());
+ result.replace(result.length()-1, result.length(), "");
return result.toString();
}
this.isSecDetailsActivated = isSecDetailsActivated;
}
+ public boolean isNameRelationsRuleConsideredActivated() {
+ return isNameRelationsRuleConsideredActivated;
+ }
+
+ public void setNameRelationsRuleConsideredActivated(boolean isRuleConsideredActivated) {
+ this.isNameRelationsRuleConsideredActivated = isRuleConsideredActivated;
+ }
+
+ public boolean isNameRelationsRuleConsideredCodeEditionActivated() {
+ return isNameRelationsRuleConsideredCodeEditionActivated;
+ }
+
+ public void setNameRelationsRuleConsideredCodeEditionActivated(boolean isRuleConsideredCodeEditionActivated) {
+ this.isNameRelationsRuleConsideredCodeEditionActivated = isRuleConsideredCodeEditionActivated;
+ }
+
+ public boolean isNomenclaturalStatusRuleConsideredActivated() {
+ return isNomenclaturalStatusRuleConsideredActivated;
+ }
+
+ public void setNomenclaturalStatusRuleConsideredActivated(boolean isRuleConsideredActivated) {
+ this.isNomenclaturalStatusRuleConsideredActivated = isRuleConsideredActivated;
+ }
+
+ public boolean isNomenclaturalStatusRuleConsideredCodeEditionActivated() {
+ return isNomenclaturalStatusRuleConsideredCodeEditionActivated;
+ }
+
+ public void setNomenclaturalStatusRuleConsideredCodeEditionActivated(boolean isRuleConsideredCodeEditionActivated) {
+ this.isNomenclaturalStatusRuleConsideredCodeEditionActivated = isRuleConsideredCodeEditionActivated;
+ }
+
+
+ public boolean isDefault(){
+ boolean result = true;
+ for (Field field: this.getClass().getDeclaredFields()){
+ try {
+ result = result &&field.getBoolean(this);
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ return result;
+ }
}