import javax.persistence.Entity;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+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
* @version 1.0
* @created 08-Nov-2007 13:06:45
*/
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PrintSeries", propOrder = {
+ "series"
+})
+@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.
*/
* 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