StrictReferenceBase matchable
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / reference / PrintSeries.java
index 3448e5a84eb745933d2a5d76ced04fbe0eb59767..9a5a460ce5ed38abefa2169faabe5ef4cf4ee84c 100644 (file)
@@ -18,6 +18,14 @@ import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
 import org.apache.log4j.Logger;
+import org.hibernate.envers.Audited;
+import org.hibernate.search.annotations.Field;
+import org.hibernate.search.annotations.Index;
+import org.hibernate.search.annotations.Indexed;
+import org.springframework.beans.factory.annotation.Configurable;
+
+import eu.etaxonomy.cdm.strategy.cache.reference.IReferenceBaseCacheStrategy;
+import eu.etaxonomy.cdm.strategy.cache.reference.StrictReferenceBaseDefaultCacheStrategy;
 
 /**
  * This class represents collections of {@link PrintedUnitBase printed published references} which
@@ -36,12 +44,20 @@ import org.apache.log4j.Logger;
 })
 @XmlRootElement(name = "PrintSeries")
 @Entity
-public class PrintSeries extends PublicationBase implements Cloneable {
+@Indexed(index = "eu.etaxonomy.cdm.model.reference.ReferenceBase")
+@Audited
+@Configurable
+public class PrintSeries extends PublicationBase<IReferenceBaseCacheStrategy<PrintSeries>> implements Cloneable {
        private static final Logger logger = Logger.getLogger(PrintSeries.class);
        
        @XmlElement(name = "Series")
+       @Field(index=Index.TOKENIZED)
        private String series;
 
+       protected PrintSeries() {
+               this.cacheStrategy = new StrictReferenceBaseDefaultCacheStrategy<PrintSeries>();
+       }
+       
        /** 
         * Creates a new empty print series instance.
         */
@@ -84,7 +100,7 @@ public class PrintSeries extends PublicationBase implements Cloneable {
         * This method overrides the clone method from {@link PublicationBase PublicationBase}.
         * 
         * @see PublicationBase#clone()
-        * @see eu.etaxonomy.cdm.model.media.IdentifyableMediaEntity#clone()
+        * @see eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity#clone()
         * @see java.lang.Object#clone()
         */
        @Override