Package org.silverpeas.core.subscription
Class SubscriptionFactory
- java.lang.Object
-
- org.silverpeas.core.subscription.SubscriptionFactory
-
@Provider @Singleton public class SubscriptionFactory extends Object
Register of all subscription resource type available into Silverpeas.By default, all
CommonSubscriptionResourceConstants
constants are registered.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
SubscriptionFactory.SubscriptionConstructor<R extends SubscriptionResource>
static interface
SubscriptionFactory.SubscriptionResourceConstructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <R extends SubscriptionResource>
AbstractSubscription<R>createSubscriptionInstance(SubscriptionSubscriber subscriber, R resource, String creatorId)
Creates aSubscription
instance from given data.SubscriptionResource
createSubscriptionResourceInstance(SubscriptionResourceType type, String resourceId, String space, String instanceId)
Creates aSubscriptionResource
instance from given data.static SubscriptionFactory
get()
SubscriptionResourceType
getSubscriptionResourceTypeByName(String name)
Gets a registered subscription type by its name if any.void
register(SubscriptionResourceType type, SubscriptionFactory.SubscriptionResourceConstructor srConstructor, SubscriptionFactory.SubscriptionConstructor sConstructor)
Adds aSubscriptionResourceType
instance.protected void
setupDefaults()
Stream<SubscriptionResourceType>
streamAll()
Gets all registered subscription resource types.
-
-
-
Method Detail
-
get
public static SubscriptionFactory get()
-
setupDefaults
@PostConstruct protected void setupDefaults()
-
register
public void register(SubscriptionResourceType type, SubscriptionFactory.SubscriptionResourceConstructor srConstructor, SubscriptionFactory.SubscriptionConstructor sConstructor)
Adds aSubscriptionResourceType
instance.Only valid instance are registered.
- Parameters:
type
- a subscription resource type to add.srConstructor
- a constructor ofSubscriptionResource
of typeSubscriptionResourceType
.sConstructor
- a constructor ofSubscription
of aSubscriptionResource
.
-
getSubscriptionResourceTypeByName
public SubscriptionResourceType getSubscriptionResourceTypeByName(String name)
Gets a registered subscription type by its name if any.- Parameters:
name
- the name of a subscription type.- Returns:
- the corresponding
SubscriptionResourceType
instance if any,CommonSubscriptionResourceConstants.UNKNOWN
otherwise.
-
createSubscriptionResourceInstance
public SubscriptionResource createSubscriptionResourceInstance(SubscriptionResourceType type, String resourceId, String space, String instanceId)
Creates aSubscriptionResource
instance from given data.- Parameters:
type
- aSubscriptionResourceType
instance.resourceId
- an identifier of resource (the local one)space
- a space reference into which the resource is handled (legacy management).instanceId
- an identifier of a component instance into which the resource is hosted.- Returns:
- an initialized
SubscriptionResource
instance.
-
createSubscriptionInstance
public <R extends SubscriptionResource> AbstractSubscription<R> createSubscriptionInstance(SubscriptionSubscriber subscriber, R resource, String creatorId)
Creates aSubscription
instance from given data.- Parameters:
subscriber
- aSubscriptionSubscriber
instance.resource
- aSubscriptionResource
instance.creatorId
- the user id that has handled the subscription.- Returns:
- an initialized
Subscription
instance.
-
streamAll
public Stream<SubscriptionResourceType> streamAll()
Gets all registered subscription resource types.Data are sorted first by
SubscriptionResourceType.priority()
then bySubscriptionResourceType.getName()
.- Returns:
- a stream of registered subscription resource type.
-
-