1 package eu
.etaxonomy
.cdm
.model
.common
;
5 import javax
.persistence
.ManyToMany
;
6 import javax
.persistence
.OneToMany
;
8 import org
.hibernate
.annotations
.Cascade
;
9 import org
.hibernate
.annotations
.CascadeType
;
11 import eu
.etaxonomy
.cdm
.model
.media
.Rights
;
13 import org
.apache
.log4j
.Logger
;
15 public interface IIdentifiableEntitiy
<T
extends IdentifiableEntity
> {
17 public abstract String
getLsid();
19 public abstract void setLsid(String lsid
);
21 public abstract String
generateTitle();
23 //@Index(name="titleCacheIndex")
24 public abstract String
getTitleCache();
26 public abstract void setTitleCache(String titleCache
);
28 public abstract void setTitleCache(String titleCache
, boolean protectCache
);
31 @Cascade( { CascadeType
.SAVE_UPDATE
})
32 public abstract Set
<Rights
> getRights();
34 public abstract void addRights(Rights right
);
36 public abstract void removeRights(Rights right
);
39 //(mappedBy="extendedObj")
40 @Cascade( { CascadeType
.SAVE_UPDATE
})
41 public abstract Set
<Extension
> getExtensions();
43 public abstract void addExtension(Extension extension
);
45 public abstract void removeExtension(Extension extension
);
47 public abstract boolean isProtectedTitleCache();
49 public abstract void setProtectedTitleCache(boolean protectedTitleCache
);
52 //(mappedBy="sourcedObj")
53 @Cascade( { CascadeType
.SAVE_UPDATE
})
54 public abstract Set
<OriginalSource
> getSources();
56 public abstract void addSource(OriginalSource source
);
58 public abstract void removeSource(OriginalSource source
);
61 * Overrides {@link eu.etaxonomy.cdm.model.common.CdmBase#toString()}.
62 * This returns an String that identifies the object well without beeing necessarily unique.
63 * Specification: This method should never call other object' methods so it can be well used for debugging
64 * without problems like lazy loading, unreal states etc.
65 * Note: If overriding this method's javadoc always copy or link the above requirement.
66 * If not overwritten by a subclass method returns the class, id and uuid as a string for any CDM object.
67 * For example: Taxon#13<b5938a98-c1de-4dda-b040-d5cc5bfb3bc0>
68 * @see java.lang.Object#toString()
70 public abstract String
toString();