package eu.etaxonomy.cdm.model.description;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
import javax.persistence.Entity;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
import org.apache.log4j.Logger;
+import org.hibernate.envers.Audited;
+import org.hibernate.search.annotations.Indexed;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.OrderedTermBase;
@XmlType(name = "State")
@XmlRootElement(name = "State")
@Entity
-//@Audited
+@Indexed(index = "eu.etaxonomy.cdm.model.common.DefinedTermBase")
+@Audited
public class State extends OrderedTermBase<State> {
private static final long serialVersionUID = -4816292463790262516L;
@SuppressWarnings("unused")
private static final Logger logger = Logger.getLogger(State.class);
+ protected static Map<UUID, State> termMap = null;
+
// ************* CONSTRUCTORS *************/
/**
* Class constructor: creates a new empty state.
* @see #State(String, String, String)
*/
public State() {
- super();
}
/**
return new State(term, label, labelAbbrev);
}
+//************************** METHODS ********************************
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.model.common.DefinedTermBase#resetTerms()
+ */
@Override
- protected void setDefaultTerms(TermVocabulary<State> termVocabulary) {
- // TODO Auto-generated method stub
-
+ public void resetTerms(){
+ termMap = null;
}
+
+ @Override
+ protected void setDefaultTerms(TermVocabulary<State> termVocabulary){
+ termMap = new HashMap<UUID, State>();
+ for (State term : termVocabulary.getTerms()){
+ termMap.put(term.getUuid(), term);
+ }
+ }
}
\ No newline at end of file