An
Aggregate
with writing capabilities. WritableAggregate
inherits the reading capabilities from its
parent and adds the capabilities to add or remove resources.- Since:
- 1.0
-
Method Summary
Methods inherited from interface Aggregate
components
Methods inherited from interface Resource
addListener, getIdentifier, getMetadata, removeListener
-
Method Details
-
add
Adds a newResource
in thisAggregate
. The givenResource
will be copied, and the effectively added resource returned. The effectively added resource may differ from the given resource in many aspects. The possible changes may include the followings but not only:- types and properties names
CoordinateReferenceSystem
Metadata
Data transformation
Copying information between stores may produce differences in many aspects. The range of changes depends both on the originalResource
structure and the targetResource
structure. If the differences are too large, then thisAggregate
may throw an exception.- Parameters:
resource
- the resource to copy in thisAggregate
.- Returns:
- the effectively added resource. May be
resource
itself if it has been added verbatim. - Throws:
DataStoreException
- if the given resource cannot be stored in thisAggregate
.
-
remove
Removes aResource
from thisAggregate
. The given resource should be one of the instances returned byAggregate.components()
. This operation is destructive in two aspects:- The
Resource
and it's data will be deleted from theDataStore
. - The given resource may become invalid and should not be used anymore after this method call.
- Parameters:
resource
- child resource to remove from thisAggregate
.- Throws:
DataStoreException
- if the given resource could not be removed.
- The
-