com.togethersoft.openapi.model.extension
Interface DeleteProvider

All Known Subinterfaces:
EntityUniqueNameProvider, ReferenceCollectionUniqueNameProvider, UniqueNameProvider

public interface DeleteProvider
extends Provider

The provideres, which implement this interface are responsible for supplying delete,
canDelete and isDeleted functionalities of Elements
and References.

Author:
TogetherSoft

Method Summary
 booleancanDelete(PropertyMap propertyMap)
          This method is called when it's neccesssary to know if Element or
Reference can be deleted.
 voiddelete(PropertyMap propertyMap)
          This method is called when object is to be deleted.
 booleanisApplicable(PropertyMap propertyMap)
          This method is guaranteed to be called with the corresponding argument right before any other
method of provider is invoked.
 booleanisDeleted(PropertyMap propertyMap)
          This method is called, when isDeleted opertation of Element or
Reference was invoked.

Method Detail

canDelete

public boolean canDelete(PropertyMap propertyMap)
This method is called when it's neccesssary to know if Element or
Reference can be deleted. Provider can veto deleting of object by returning
false.
All providers will be polled sequentially until next returned false
or all providers returned true.
Returns: must return true unless propertyMap cannot be deleted.

delete

public void delete(PropertyMap propertyMap)
This method is called when object is to be deleted. It is guaranteed, that
all applicable providers have returned true for canDelete.
Method will be called for every applicable provider.
But whether object was deleted or not is told completely by invoking
isDeleted method of providers.

isApplicable

public boolean isApplicable(PropertyMap propertyMap)
This method is guaranteed to be called with the corresponding argument right before any other
method of provider is invoked. Provider must return true if it can supply following
operations for propertyMap

isDeleted

public boolean isDeleted(PropertyMap propertyMap)
This method is called, when isDeleted opertation of Element or
Reference was invoked.
The object is considered to be not deleted, when there is at least one applicable providers,
which returned false from this method.

For example, it means that there must be
at least one provider, which would return false for instantiated Entity,
in order model would consider it as not deleted and allow it to have children.