import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
+import org.hibernate.validator.constraints.Length;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
+import eu.etaxonomy.cdm.validation.annotation.NullOrNotEmpty;
/**
* http://www.bgbm.org/biodivinf/docs/CollectionModel/ReprintTNR.pdf
"storedUnder",
"derivationEvent",
"accessionNumber",
- "collectorsNumber"
+ "collectorsNumber",
+ "barcode"
})
@XmlRootElement(name = "DerivedUnitBase")
@Entity
@XmlElement(name = "CatalogNumber")
@Field(index=Index.UN_TOKENIZED)
+ @NullOrNotEmpty
+ @Length(max = 255)
private String catalogNumber;
@XmlElement(name = "AccessionNumber")
@Field(index=Index.UN_TOKENIZED)
+ @NullOrNotEmpty
+ @Length(max = 255)
private String accessionNumber;
@XmlElement(name = "CollectorsNumber")
@Field(index=Index.UN_TOKENIZED)
+ @NullOrNotEmpty
+ @Length(max = 255)
private String collectorsNumber;
+ @XmlElement(name = "Barcode")
+ @Field(index=Index.UN_TOKENIZED)
+ @NullOrNotEmpty
+ @Length(max = 255)
+ private String barcode;
+
@XmlElement(name = "StoredUnder")
@XmlIDREF
@XmlSchemaType(name = "IDREF")
*/
protected DerivedUnitBase(GatheringEvent gatheringEvent) {
this(new FieldObservation());
- FieldObservation field = (FieldObservation) this.getOriginalUnit();
+ FieldObservation field = (FieldObservation)this.getOriginalUnit();
field.setGatheringEvent(gatheringEvent);
}
}
this.derivationEvent = derivedFrom;
if (derivedFrom != null){
- derivedFrom.getDerivatives().add(this);
+ derivedFrom.addDerivative(this);
}
}
return this.getDerivedFrom().getOriginals();
}
- @Override
- @Transient
- public GatheringEvent getGatheringEvent() {
- // FIXME: implement efficient way of getting original gathering event
- // keep link to original gathering event for performance mainly.
- return null;
- }
-
public Collection getCollection(){
return this.collection;
}
this.catalogNumber = catalogNumber;
}
+ public void setBarcode(String barcode) {
+ this.barcode = barcode;
+ }
+ public String getBarcode() {
+ return barcode;
+ }
+
public void setStoredUnder(TaxonNameBase storedUnder) {
this.storedUnder = storedUnder;
}
return storedUnder;
}
- //*********** CLONE **********************************/
+//*********** CLONE **********************************/
/**
* Clones <i>this</i> derivedUnitBase. This is a shortcut that enables to
//no changes to: accessionNumber, catalogNumber, collectorsNumber
return result;
}
+
}