Package fr.igred.omero
Class AnnotatableWrapper<T extends DataObject>
java.lang.Object
fr.igred.omero.GenericObjectWrapper<T>
fr.igred.omero.AnnotatableWrapper<T>
- Type Parameters:
T
- Subclass ofDataObject
- Direct Known Subclasses:
GenericRepositoryObjectWrapper
,GenericShapeWrapper
,ROIWrapper
Generic class containing a DataObject (or a subclass) object.
-
Field Summary
Fields inherited from class fr.igred.omero.GenericObjectWrapper
data
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructor of the class GenericRepositoryObjectWrapper. -
Method Summary
Modifier and TypeMethodDescriptionlong
addAndReplaceFile
(Client client, File file) Uploads a file, links it to the object and unlinks previous files with the same name, or deletes them if they're orphaned.long
addAndReplaceFile
(Client client, File file, GenericRepositoryObjectWrapper.ReplacePolicy policy) Uploads a file, links it to the object and unlinks or deletes previous files with the same name.void
addAndReplaceTable
(Client client, TableWrapper table) Adds a table to the object in OMERO and unlinks previous tables with the same name, or deletes them if they're orphaned.void
addAndReplaceTable
(Client client, TableWrapper table, GenericRepositoryObjectWrapper.ReplacePolicy policy) Adds a table to the object in OMERO and unlinks or deletes previous tables with the same name.long
Uploads a file and links it to the objectvoid
addFileAnnotation
(Client client, FileAnnotationWrapper annotation) Deprecated.Links a file annotation to the object.void
addKeyValuePair
(Client client, String key, String value) Adds a single Key-Value pair to the object.void
addMapAnnotation
(Client client, MapAnnotationWrapper mapAnnotation) Deprecated.Adds a List of Key-Value pair to the object.void
addPairKeyValue
(Client client, String key, String value) Deprecated.Adds a single Key-Value pair to the object.void
addTable
(Client client, TableWrapper table) Adds a table to the object in OMERO.void
addTag
(Client client, TagAnnotationWrapper tag) Deprecated.Adds a tag to the object in OMERO, if possible.void
Adds a tag to the object in OMERO, if possible.void
Adds a newly created tag to the object in OMERO, if possible.void
addTags
(Client client, TagAnnotationWrapper... tags) Deprecated.Adds multiple tag to the object in OMERO, if possible.void
Adds multiple tags by ID to the object in OMERO, if possible.protected abstract String
Returns the type of annotation link for this object.void
copyAnnotationLinks
(Client client, AnnotatableWrapper<?> object) Copies annotation links from some other object to this one.getAnnotations
(Client client) Retrieves annotations linked to the object (of known types).getFileAnnotations
(Client client) Returns the file annotationsgetKeyValuePairs
(Client client) Gets the List of key-value pairs associated to an object as a map (no duplicate key should exist).getMapAnnotations
(Client client) Gets all map annotations linked to an object in OMERO, if possible.int
getMyRating
(Client client) Returns the user rating for this object (averaged if multiple ratings are linked).getRatings
(Client client) Returns all the ratings from all users for this object.Gets a certain table linked to the object in OMERO.Gets all tables linked to the object in OMERO.Gets all tags linked to an object in OMERO, if possible.Gets the value from a Key-Value pair associated to the object.<A extends GenericAnnotationWrapper<?>>
booleanChecks if a specific annotation is linked to the object.protected <A extends AnnotationData>
voidAttach anAnnotationData
to this object.void
link
(Client client, GenericAnnotationWrapper<?>... annotations) Adds multiple annotations to the object in OMERO, if possible.void
linkIfNotLinked
(Client client, GenericAnnotationWrapper<?>... annotations) Adds multiple annotations to the object in OMERO if they are not already linked.void
Rates the object (using a rating annotation).protected void
removeLink
(Client client, String linkType, long childId) Removes the link of the given type with the given child ID.<A extends GenericAnnotationWrapper<?>>
voidUnlinks the given annotation from the current object.Methods inherited from class fr.igred.omero.GenericObjectWrapper
asDataObject, canAnnotate, canChgrp, canChown, canDelete, canEdit, canLink, delete, distinct, flatten, getCreated, getGroupId, getId, getOwner, getUpdated, saveAndUpdate, toString, wrap, wrap
-
Constructor Details
-
AnnotatableWrapper
Constructor of the class GenericRepositoryObjectWrapper.- Parameters:
o
- The annotatable DataObject to wrap in the GenericRepositoryObjectWrapper.
-
-
Method Details
-
annotationLinkType
Returns the type of annotation link for this object.- Returns:
- See above.
-
isLinked
public <A extends GenericAnnotationWrapper<?>> boolean isLinked(Client client, A annotation) throws ServiceException, AccessException, ExecutionException Checks if a specific annotation is linked to the object.- Type Parameters:
A
- The type of the annotation.- Parameters:
client
- The client handling the connection.annotation
- Annotation to be checked.- Returns:
- True if the object is linked to the given annotation, false otherwise.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
link
protected <A extends AnnotationData> void link(Client client, A annotation) throws ServiceException, AccessException, ExecutionException Attach anAnnotationData
to this object.- Type Parameters:
A
- The type of the annotation.- Parameters:
client
- The client handling the connection.annotation
- TheAnnotationData
.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
link
public <A extends GenericAnnotationWrapper<?>> void link(Client client, A annotation) throws ServiceException, AccessException, ExecutionException Adds an annotation to the object in OMERO, if possible (and if it's not a TagSet).- Type Parameters:
A
- The type of the annotation.- Parameters:
client
- The client handling the connection.annotation
- Annotation to be added.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
link
public void link(Client client, GenericAnnotationWrapper<?>... annotations) throws ServiceException, AccessException, ExecutionException Adds multiple annotations to the object in OMERO, if possible.- Parameters:
client
- The client handling the connection.annotations
- Annotations to add.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
linkIfNotLinked
public void linkIfNotLinked(Client client, GenericAnnotationWrapper<?>... annotations) throws ServiceException, AccessException, ExecutionException Adds multiple annotations to the object in OMERO if they are not already linked.- Parameters:
client
- The client handling the connection.annotations
- Annotations to add.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addTag
public void addTag(Client client, String name, String description) throws ServiceException, AccessException, ExecutionException Adds a newly created tag to the object in OMERO, if possible.- Parameters:
client
- The client handling the connection.name
- Tag Name.description
- Tag description.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addTag
@Deprecated public void addTag(Client client, TagAnnotationWrapper tag) throws ServiceException, AccessException, ExecutionException Deprecated.Adds a tag to the object in OMERO, if possible. Uselink(fr.igred.omero.Client, A)
instead.- Parameters:
client
- The client handling the connection.tag
- Tag to be added.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addTag
public void addTag(Client client, Long id) throws ServiceException, AccessException, ExecutionException Adds a tag to the object in OMERO, if possible.- Parameters:
client
- The client handling the connection.id
- ID of the tag to add to the object.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addTags
@Deprecated public void addTags(Client client, TagAnnotationWrapper... tags) throws ServiceException, AccessException, ExecutionException Deprecated.Adds multiple tag to the object in OMERO, if possible. Uselink(Client, GenericAnnotationWrapper[])
instead.- Parameters:
client
- The client handling the connection.tags
- Array of tag annotations to add.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addTags
public void addTags(Client client, Long... ids) throws ServiceException, AccessException, ExecutionException Adds multiple tags by ID to the object in OMERO, if possible.- Parameters:
client
- The client handling the connection.ids
- Array of tag id in OMERO to add.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
getTags
public List<TagAnnotationWrapper> getTags(Client client) throws ServiceException, AccessException, ExecutionException Gets all tags linked to an object in OMERO, if possible.- Parameters:
client
- The client handling the connection.- Returns:
- See above.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
getMapAnnotations
public List<MapAnnotationWrapper> getMapAnnotations(Client client) throws ServiceException, AccessException, ExecutionException Gets all map annotations linked to an object in OMERO, if possible.- Parameters:
client
- The client handling the connection.- Returns:
- See above.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addPairKeyValue
@Deprecated public void addPairKeyValue(Client client, String key, String value) throws ServiceException, AccessException, ExecutionException Deprecated.Adds a single Key-Value pair to the object.- Parameters:
client
- The client handling the connection.key
- Name of the key.value
- Value associated to the key.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addKeyValuePair
public void addKeyValuePair(Client client, String key, String value) throws ServiceException, AccessException, ExecutionException Adds a single Key-Value pair to the object.- Parameters:
client
- The client handling the connection.key
- Name of the key.value
- Value associated to the key.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
getKeyValuePairs
public Map<String,String> getKeyValuePairs(Client client) throws ServiceException, AccessException, ExecutionException Gets the List of key-value pairs associated to an object as a map (no duplicate key should exist).- Parameters:
client
- The client handling the connection.- Returns:
- See above.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
getValue
public String getValue(Client client, String key) throws ServiceException, AccessException, ExecutionException Gets the value from a Key-Value pair associated to the object.- Parameters:
client
- The client handling the connection.key
- Key researched.- Returns:
- Value associated to the key.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.NoSuchElementException
- Key not found.ExecutionException
- A Facility can't be retrieved or instantiated.
-
getRatings
public List<RatingAnnotationWrapper> getRatings(Client client) throws ServiceException, AccessException, ExecutionException Returns all the ratings from all users for this object.- Parameters:
client
- The client handling the connection.- Returns:
- See above.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
rate
public void rate(Client client, int rating) throws ServiceException, AccessException, ExecutionException, OMEROServerError, InterruptedException Rates the object (using a rating annotation).- Parameters:
client
- The client handling the connection.rating
- The rating.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.OMEROServerError
- Server error.InterruptedException
- The thread was interrupted.
-
getMyRating
Returns the user rating for this object (averaged if multiple ratings are linked).- Parameters:
client
- The client handling the connection.- Returns:
- See above.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addMapAnnotation
@Deprecated public void addMapAnnotation(Client client, MapAnnotationWrapper mapAnnotation) throws ServiceException, AccessException, ExecutionException Deprecated.Adds a List of Key-Value pair to the object. Uselink(fr.igred.omero.Client, A)
instead.The list is contained in the map annotation.
- Parameters:
client
- The client handling the connection.mapAnnotation
- The map annotation.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addTable
public void addTable(Client client, TableWrapper table) throws ServiceException, AccessException, ExecutionException Adds a table to the object in OMERO.- Parameters:
client
- The client handling the connection.table
- Table to add to the object.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addAndReplaceTable
public void addAndReplaceTable(Client client, TableWrapper table, GenericRepositoryObjectWrapper.ReplacePolicy policy) throws ServiceException, AccessException, ExecutionException, OMEROServerError, InterruptedException Adds a table to the object in OMERO and unlinks or deletes previous tables with the same name.- Parameters:
client
- The client handling the connection.table
- Table to add to the object.policy
- Whether older tables should be unlinked, deleted or deleted only if they become orphaned.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.InterruptedException
- The thread was interrupted.OMEROServerError
- Server error.
-
addAndReplaceTable
public void addAndReplaceTable(Client client, TableWrapper table) throws ServiceException, AccessException, ExecutionException, OMEROServerError, InterruptedException Adds a table to the object in OMERO and unlinks previous tables with the same name, or deletes them if they're orphaned.- Parameters:
client
- The client handling the connection.table
- Table to add to the object.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.InterruptedException
- The thread was interrupted.OMEROServerError
- Server error.
-
getTable
public TableWrapper getTable(Client client, Long fileId) throws ServiceException, AccessException, ExecutionException Gets a certain table linked to the object in OMERO.- Parameters:
client
- The client handling the connection.fileId
- FileId of the table researched.- Returns:
- See above.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
getTables
public List<TableWrapper> getTables(Client client) throws ServiceException, AccessException, ExecutionException Gets all tables linked to the object in OMERO.- Parameters:
client
- The client handling the connection.- Returns:
- See above.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
addFile
Uploads a file and links it to the object- Parameters:
client
- The client handling the connection.file
- File to add.- Returns:
- ID of the file created in OMERO.
- Throws:
ExecutionException
- A Facility can't be retrieved or instantiated.InterruptedException
- The thread was interrupted.
-
addAndReplaceFile
public long addAndReplaceFile(Client client, File file, GenericRepositoryObjectWrapper.ReplacePolicy policy) throws ExecutionException, InterruptedException, AccessException, ServiceException, OMEROServerError Uploads a file, links it to the object and unlinks or deletes previous files with the same name.- Parameters:
client
- The client handling the connection.file
- File to add.policy
- Whether older files should be unlinked, deleted or deleted only if they become orphaned.- Returns:
- ID of the file created in OMERO.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.InterruptedException
- The thread was interrupted.OMEROServerError
- Server error.
-
addAndReplaceFile
public long addAndReplaceFile(Client client, File file) throws ExecutionException, InterruptedException, AccessException, ServiceException, OMEROServerError Uploads a file, links it to the object and unlinks previous files with the same name, or deletes them if they're orphaned.- Parameters:
client
- The client handling the connection.file
- File to add.- Returns:
- ID of the file created in OMERO.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.InterruptedException
- The thread was interrupted.OMEROServerError
- Server error.
-
addFileAnnotation
@Deprecated public void addFileAnnotation(Client client, FileAnnotationWrapper annotation) throws AccessException, ServiceException, ExecutionException Deprecated.Links a file annotation to the object. Uselink(fr.igred.omero.Client, A)
instead.- Parameters:
client
- The client handling the connection.annotation
- FileAnnotationWrapper to link.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
getFileAnnotations
public List<FileAnnotationWrapper> getFileAnnotations(Client client) throws ExecutionException, ServiceException, AccessException Returns the file annotations- Parameters:
client
- The client handling the connection.- Returns:
- The list of tile annotations.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
unlink
public <A extends GenericAnnotationWrapper<?>> void unlink(Client client, A annotation) throws ServiceException, AccessException, ExecutionException, OMEROServerError, InterruptedException Unlinks the given annotation from the current object.- Type Parameters:
A
- The type of the annotation.- Parameters:
client
- The client handling the connection.annotation
- An annotation.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.OMEROServerError
- Server error.InterruptedException
- If block(long) does not return.
-
removeLink
protected void removeLink(Client client, String linkType, long childId) throws ServiceException, OMEROServerError, AccessException, ExecutionException, InterruptedException Removes the link of the given type with the given child ID.- Parameters:
client
- The client handling the connection.linkType
- The link type.childId
- Link child ID.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.OMEROServerError
- Server error.InterruptedException
- If block(long) does not return.
-
getAnnotations
public AnnotationList getAnnotations(Client client) throws AccessException, ServiceException, ExecutionException Retrieves annotations linked to the object (of known types).- Parameters:
client
- The client handling the connection.- Returns:
- A list of annotations.
- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-
copyAnnotationLinks
public void copyAnnotationLinks(Client client, AnnotatableWrapper<?> object) throws AccessException, ServiceException, ExecutionException Copies annotation links from some other object to this one.- Parameters:
client
- The client handling the connection.object
- Other repository object to copy annotations from.- Throws:
ServiceException
- Cannot connect to OMERO.AccessException
- Cannot access data.ExecutionException
- A Facility can't be retrieved or instantiated.
-