org.gcube.informationsystem.publisher
Interface RegistryPublisher

All Known Implementing Classes:
AdvancedPublisher, RegistryPublisherImpl

public interface RegistryPublisher


Method Summary
<T extends org.gcube.common.resources.gcore.Resource>
T
create(T resource)
          The resource is created in the current scope and it is updated in the other scopes that are presents in the resource
<T extends org.gcube.common.resources.gcore.Resource>
T
remove(T resource)
          Remove a resource from the current scope if the current scope is defined in the resource
<T extends org.gcube.common.resources.gcore.Resource>
T
update(T resource)
          The resource will be updated on all scopes that are defined in the resource.
 

Method Detail

create

<T extends org.gcube.common.resources.gcore.Resource> T create(T resource)
The resource is created in the current scope and it is updated in the other scopes that are presents in the resource

Throws:
IllegalStateException - if the current scope is incompatible with the scope defined in the resource or if the scope is already defined in the resource
IllegalArgumentException - if there are problems to contact the Registry service or the resource is not a valid resource

update

<T extends org.gcube.common.resources.gcore.Resource> T update(T resource)
The resource will be updated on all scopes that are defined in the resource. If an updating operation fail. It will be repeated with best-effort approach.

Throws:
IllegalStateException - if the current scope is not defined in the resource.
IllegalArgumentException - if there are problems with the registry service or the resource is not a valid resource

remove

<T extends org.gcube.common.resources.gcore.Resource> T remove(T resource)
Remove a resource from the current scope if the current scope is defined in the resource

Returns:
the resource without the current scope if the remove operation is succesfully
Throws:
IllegalArgumentException - if the current scope is not defined in the resource


Copyright © 2013. All Rights Reserved.