Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*************************************************************************
*
* ADOBE CONFIDENTIAL
* __________________
*
* Copyright 2015 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any. The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
**************************************************************************/
package com.adobe.cq.social.subscriptions.api;
import java.util.List;
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import org.apache.sling.api.resource.ResourceResolver;
import com.adobe.cq.social.ugc.api.UgcFilter;
import com.adobe.granite.socialgraph.Direction;
public interface SubscriptionManager {
/**
* Gets subscription objects for a target and owner combination.
* @param resolver the resolver to use to read the subscription
* @param subscribeTo the target of the subscription
* @param owner the owner of this particular subscription
* @param types String...
* @return a subscription object or null if not found
*/
@CheckForNull
List getSubscriptions(final ResourceResolver resolver, final String subscribeTo,
final String owner, final String... types);
/**
* Gets subscriptions for the specified owner.
* @param resolver the resolver to use to read the subscriptions
* @param ownerId a path to the owner of the subscription
* @param direction direction of the relationship
* @return a list of subscriptions
* @deprecated replaced by {@link #getSubscriptions(ResourceResolver, String, SubscriptionType, Direction)}
*/
@Nonnull
@Deprecated
List getSubscriptions(final ResourceResolver resolver, final String ownerId,
final Direction direction);
/**
* Gets subscriptions for the specified owner.
* @param resolver the resolver to use to read the subscriptions
* @param ownerId a path to the owner of the subscription
* @param subscriptionType the type of subscription
* @param direction direction of the relationship
* @return a list of subscriptions
*/
@Nonnull
List getSubscriptions(final ResourceResolver resolver, final String ownerId,
final SubscriptionType subscriptionType, final Direction direction);
/**
* Get the subscription of the specified subTypeId and subscriptionType
* @param resolver the resolver to be used in the query
* @param subTypeId the sub type id, such as RESOURCE or USER
* @param startIndex the start index
* @param size the number of element to be retrieved
* @return a list of subscriptions
* @deprecated replaced by {@link #getSubscriptions(ResourceResolver, String, SubscriptionType, int, int)}
*/
@Nonnull
@Deprecated
List getSubscriptions(final ResourceResolver resolver, final String subTypeId,
final int startIndex, final int size);
/**
* Get the subscription of the specified subTypeId and subscriptionType
* @param resolver the resolver to be used in the query
* @param subTypeId the sub type id, such as RESOURCE or USER
* @param subscriptionType the subscription type, such as SUBSCRIPTIONS or NOTIFICATIONS
* @param startIndex the start index
* @param size the number of element to be retrieved
* @return a list of subscriptions
*/
List getSubscriptions(final ResourceResolver resolver, final String subTypeId,
final SubscriptionType subscriptionType, final int startIndex, final int size);
/**
* Get the subscription of the specified subTypeId, the specified filter, and subscriptionType
* @param resolver the resolver to be used in the query
* @param subTypeId the sub type id, such as RESOURCE or USER
* @param filter UgcFilter
* @param startIndex the start index
* @param size the number of element to be retrieved
* @return a list of subscriptions
* @deprecated replaced by
* {@link #getSubscriptions(ResourceResolver, String, UgcFilter, SubscriptionType, int, int)}
*/
List getSubscriptions(final ResourceResolver resolver, final String subTypeId,
final UgcFilter filter, final int startIndex, final int size);
/**
* Get the subscription of the specified subTypeId, the specified filter, and subscriptionType
* @param resolver the resolver to be used in the query
* @param subTypeId the sub type id, such as RESOURCE or USER
* @param subscriptionType the subscription type, such as SUBSCRIPTIONS or NOTIFICATIONS
* @param startIndex the start index
* @param filter UgcFilter
* @param size the number of element to be retrieved
* @return a list of subscriptions
*/
List getSubscriptions(final ResourceResolver resolver, final String subTypeId,
final UgcFilter filter, final SubscriptionType subscriptionType, final int startIndex, final int size);
}