public class RemoteRelationServiceImpl extends AbstractRemoteService<RelationService> implements RemoteRelationService
RelationService
implementation that communicates with Confluence remotely using the Confluence REST API.Constructor and Description |
---|
RemoteRelationServiceImpl(AuthenticatedWebResourceProvider provider,
com.google.common.util.concurrent.ListeningExecutorService executor) |
Modifier and Type | Method and Description |
---|---|
<S extends Relatable,T extends Relatable> |
create(RelationInstance<S,T> relationInstance)
Creates a directed relation between two relatable entities.
|
<S extends Relatable,T extends Relatable> |
delete(RelationInstance<S,T> relationInstance)
Remove a relation if it exists between a source and a target relatable entity
|
<S extends Relatable,T extends Relatable> |
isRelated(S source,
RelationDescriptor<S,T> relationDescriptor,
T target)
Determine whether a given source and target are related by the given relation
|
addExpansions, addPageRequest, addPageRequestParams, deleteFuture, deleteFuture, getFuture, getFutureGenericCollection, getFutureMap, getFutureMapOfPageResponses, getFutureOption, getFuturePageResponseList, newExperimentalRestWebResource, newRestWebResource, postFuture, postFuture, postFuture, postFutureToPageResponse, putFuture
public RemoteRelationServiceImpl(AuthenticatedWebResourceProvider provider, com.google.common.util.concurrent.ListeningExecutorService executor)
public <S extends Relatable,T extends Relatable> com.atlassian.util.concurrent.Promise<Void> create(RelationInstance<S,T> relationInstance) throws ServiceException
RemoteRelationService
For example, when a user favourites a space a SpaceFavouriteRelation is created from the user to the space:
relationService.create(RelationInstance.builder(user, new SpaceFavouriteRelation(), space).build))
;
create
in interface RemoteRelationService
S
- type of the source entityT
- type of the target entityrelationInstance
- the relation to createServiceException
- if validation failspublic <S extends Relatable,T extends Relatable> com.atlassian.util.concurrent.Promise<Void> delete(RelationInstance<S,T> relationInstance) throws ServiceException
RemoteRelationService
delete
in interface RemoteRelationService
S
- type of the source entityT
- type of the target entityrelationInstance
- relation to be deletedServiceException
- if validation failspublic <S extends Relatable,T extends Relatable> com.atlassian.util.concurrent.Promise<Boolean> isRelated(S source, RelationDescriptor<S,T> relationDescriptor, T target)
RemoteRelationService
isRelated
in interface RemoteRelationService
S
- type of the source entityT
- type of the target entityCopyright © 2003–2017 Atlassian. All rights reserved.