Interface Removable

All Superinterfaces:
AccessControlled, Identifiable
All Known Implementing Classes:
AnnotatedItem, AnnotationType, AnnotationTypeCategory, ArrayBatch, ArrayDesign, ArraySlide, BioAssaySet, BioMaterial, BioPlate, BioPlateEvent, BioPlateEventType, BioPlateType, BioSource, Client, CommonItem, DataFileType, DerivedBioAssay, Directory, Experiment, Extract, ExtraValueType, File, FileServer, Formula, Group, Hardware, ItemList, ItemSubtype, Job, JobAgent, Kit, MeasuredBioMaterial, Message, MimeType, News, PermissionTemplate, PhysicalBioAssay, Plate, PlateEventType, PlateGeometry, PlateMapping, PlateType, Platform, PlatformVariant, PluginConfiguration, PluginDefinition, PluginType, Project, Protocol, Quantity, Quota, RawBioAssay, ReporterCloneTemplate, ReporterList, ReporterType, Role, Sample, Software, Tag, Transformation, Unit, User

public interface Removable
extends Identifiable
A Removable item is an item that can be flagged as removed. This doesn't generally remove the information about the item from the database, but can be used by client applications to hide items that the user is not interested in.

For example, all methods generating lists of items, will by default not include those that are flagged as removed.

At regular intervals, a cleanup application is checking the database for items that are flagged to be removed and deletes them permanently.

Reference implementation

public boolean isRemoved()
{
   return getData().isRemoved();
}
public void setRemoved(boolean removed)
   throws PermissionDeniedException
{
   checkPermission(removed ? Permission.DELETE : Permission.WRITE);
   getData().setRemoved(removed);
}
Version:
2.0
Author:
Nicklas
Last modified
$Date: 2015-11-18 09:08:17 +0100 (on, 18 nov 2015) $