ome.api
Interface IDelete

All Superinterfaces:
ServiceInterface
All Known Implementing Classes:
DeleteBean

public interface IDelete
extends ServiceInterface

Provides simplifed methods for deleting instances from the database. Various policies may exist for delete and so it is important to consult the implementation documentation to know what types will be deleted by force (using admin privileges) or alternatively throw an exception due to constraint violations.

Since:
3.0-Beta3
Author:
Josh Moore, josh at glencoesoftware.com

Method Summary
 List<ome.model.IObject> checkImageDelete(long id, boolean force)
          Returns all entities which would prevent the given Image id from being deleted.
 void deleteImage(long id, boolean force)
          Deletes an Image and all related (subordinate) metadata as defined below.
 void deleteImages(Set<Long> ids, boolean force)
          Deletes several Image instances within a single transaction via the deleteImage(long, boolean) method.
 void deleteImagesByDataset(long datasetId, boolean force)
          Deletes the user-visible Image instances of the given Dataset within a single transaction via the deleteImage(long, boolean).
 void deletePlate(long plateId)
          Deletes all the images contained in a plate as if deleted by: deleteImage(id, true) so that all Dataset and Annotation links are broken, with WellSamples removed first.
 void deleteSettings(long pixelId)
          Deletes all rendering settings for the given Pixel id.
 List<ome.model.IObject> previewImageDelete(long id, boolean force)
          Returns all entities which would be deleted by a call to deleteImage(long, boolean).
 

Method Detail

checkImageDelete

List<ome.model.IObject> checkImageDelete(long id,
                                         boolean force)
Returns all entities which would prevent the given Image id from being deleted. The force boolean determines whether or not the user's collections should be removed in order to facilitate the delete. Currently this only includes datasets. The force boolean determines if Dataset instances from the same user will be considered as constraints. Regardless of force, datasets from other users are considered constraints.

Parameters:
id - of the Image to be deleted.
force - return value will be included
Returns:
unloaded entity list

previewImageDelete

List<ome.model.IObject> previewImageDelete(long id,
                                           boolean force)
Returns all entities which would be deleted by a call to deleteImage(long, boolean).

Parameters:
id -
force -
Returns:
unloaded entity list

deleteImage

void deleteImage(long id,
                 boolean force)
                 throws ome.conditions.SecurityViolation,
                        ome.conditions.ValidationException,
                        ome.conditions.ApiUsageException
Deletes an Image and all related (subordinate) metadata as defined below. This method calls checkImageDelete(long, boolean) and throws a ConstraintViolation exception with the results of that call are not empty; then it forcibly deletes all objects returned by previewImageDelete(long, boolean)

The deleted metadata includes all of the following types which belong to the current user:

If any of these types do not belong to the current user, the Image data graph will be considered corrupted and a ValidationException will be thrown.

For the types:

a forced deletion will take place even if the user information does not match the current user.

If the Image is not owned by the current user, then SecurityViolation is thrown, unless the user is root or the group leader.

An image will not be deleted if it is contained in a Dataset owned by another user. If the Image is contained in other datasets belonging to the same user, then the force parameter decides what will happen. A force value of true implies that the Image will be removed as well as the related links. The Pixels.getRelatedTo() field will be set to null for all Pixels pointing to a Pixels instance which is about to be deleted.

Parameters:
id - id of the Image to be deleted
force - Image will be removed even if contained in other datasets. If false, a ConstraintViolation will be raised.
Throws:
ome.conditions.ValidationException - throws an exception if there is any unexpected object which prevents this object from being deleted, i.e. not in checkImageDelete(long, boolean) (check first)
ome.conditions.ApiUsageException - if the object has constraints. Use checkImageDelete(long, boolean) first in order to verify that there are no constraints.
ome.conditions.SecurityViolation - If the Image does not belong to the current user.

deleteImages

void deleteImages(Set<Long> ids,
                  boolean force)
                  throws ome.conditions.SecurityViolation,
                         ome.conditions.ValidationException,
                         ome.conditions.ApiUsageException
Deletes several Image instances within a single transaction via the deleteImage(long, boolean) method.

Parameters:
id - As deleteImage(long, boolean)
force - As deleteImage(long, boolean)
Throws:
ome.conditions.ValidationException - As deleteImage(long, boolean)
ome.conditions.ApiUsageException - As deleteImage(long, boolean)
ome.conditions.SecurityViolation - As deleteImage(long, boolean)

deleteImagesByDataset

void deleteImagesByDataset(long datasetId,
                           boolean force)
                           throws ome.conditions.SecurityViolation,
                                  ome.conditions.ValidationException,
                                  ome.conditions.ApiUsageException
Deletes the user-visible Image instances of the given Dataset within a single transaction via the deleteImage(long, boolean). In addition, before Image deletion is attempted, the links to the given Dataset are first removed, otherwise this method would always require a "force" argument of true.

Parameters:
id - As deleteImage(long, boolean)
force - As deleteImage(long, boolean)
Throws:
ome.conditions.ValidationException - As deleteImage(long, boolean)
ome.conditions.ApiUsageException - As deleteImage(long, boolean)
SecurityVilation - As {@link #deleteImage(long, boolean)
ome.conditions.SecurityViolation

deleteSettings

void deleteSettings(long pixelId)
Deletes all rendering settings for the given Pixel id. This removes all the same objects that deleteImage() would delete below the given Pixels


deletePlate

void deletePlate(long plateId)
Deletes all the images contained in a plate as if deleted by: deleteImage(id, true) so that all Dataset and Annotation links are broken, with WellSamples removed first. Then all Wells in the Plate and the Plate itself are removed. WellSampleAnnotationLinks, WellAnnotationLinks, and PlateAnnotationLinks are deleted as necessary.

Parameters:
plateId -


OmeroJava Api

Version: Beta-4.1.1-r5927-b91

Copyright © 2009 The University of Dundee. All Rights Reserved.