grsf-common-library/src/main/java/org/gcube/datacatalogue/common/enums/Production_System_Type.java

56 lines
1.4 KiB
Java

package org.gcube.datacatalogue.common.enums;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
/**
* Production_System_Type for Fishery records
* @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
*/
public enum Production_System_Type {
Subsistence("Subsistence"),
Recreational("Recreational"),
Commercial("Commercial"),
Artisanal("Artisanal"),
Semi_Industrial("Semi-industrial"),
Industrial("Industrial"),
Exploratory_fishery("Exploratory fishery"),
Unspecified("Unspecified");
private String subGroupNameOrig;
private Production_System_Type(String origName) {
this.subGroupNameOrig = origName;
}
/**
* Return the original name
* @return
*/
public String getOrigName(){
return subGroupNameOrig;
}
@JsonValue
public String onSerialize(){
return subGroupNameOrig.replaceAll("[^A-Za-z]", " ").toLowerCase();
}
@JsonCreator
public static Production_System_Type onDeserialize(String productionString) {
if(productionString != null) {
for (Production_System_Type productionValue : Production_System_Type.values()) {
if(productionValue.getOrigName().replaceAll("[^A-Za-z]", " ").equalsIgnoreCase(productionString.trim().replaceAll("[^A-Za-z]", " ")))
return productionValue;
}
}
return null;
}
@Override
public String toString() {
return getOrigName();
}
}