Class SubscriptionChainLogic
java.lang.Object
com.echothree.util.server.control.BaseLogic
com.echothree.model.control.chain.server.logic.BaseChainLogic
com.echothree.model.control.subscription.server.logic.SubscriptionChainLogic
-
Field Summary
Fields inherited from class com.echothree.util.server.control.BaseLogic
coreControl -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ChainInstancecreateChainInstance(ExecutionErrorAccumulator eea, String chainKindName, String chainTypeName, Subscription subscription, BasePK createdBy) createChainInstance is different than the version in BaseChainLogic, it requires a Subscription parameter.protected ChainInstancecreateSubscriptionChainInstance(ExecutionErrorAccumulator eea, String chainTypeName, Subscription subscription, BasePK createdBy) createSubscriptionExpirationChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy) createSubscriptionExpirationWarningChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy) createSubscriptionInitialChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy) createSubscriptionRenewalChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy) TODO: Consider the RemainingTime in the SubscriptionDetail when choosing the Chain to use.static SubscriptionChainLogicMethods inherited from class com.echothree.model.control.chain.server.logic.BaseChainLogic
countChainInstanceEntityRoles, countChainInstanceEntityRoles, countChainInstanceEntityRolesByChainEntityRoleType, countChainInstanceEntityRolesByEntityInstance, createChainInstance, createChainInstance, createChainInstance, deleteChainInstancedByChainEntityRoleTypeAndEntityInstance, getChain, getChainEntityRoleTypeByName, getChainKindByName, getChainTypeByName, getChainTypeByNameMethods inherited from class com.echothree.util.server.control.BaseLogic
addExecutionError, addSecurityMessage, getEntityInstanceByBaseEntity, getEntityInstanceByBasePK, getSession, handleExecutionError, handleSecurityMessage, hasExecutionErrors
-
Constructor Details
-
SubscriptionChainLogic
protected SubscriptionChainLogic()
-
-
Method Details
-
getInstance
-
createChainInstance
protected ChainInstance createChainInstance(ExecutionErrorAccumulator eea, String chainKindName, String chainTypeName, Subscription subscription, BasePK createdBy) createChainInstance is different than the version in BaseChainLogic, it requires a Subscription parameter. Subscriptions are allowed to override the Chain being used in each SubscriptionType, so this takes that into account when choosing a Chain. If there is no SubscriptionTypeChain, then we fall back to the default for the ChainType, following the normal rules that take OfferChainTypes into account as well. If the chainTypeName == RENEWAL, then we immediately fall back to the default for the ChainType. TODO: RENEWAL should really be based on the amount of time remaining in the Subscription, and not just fall back to the default. getSubscriptionTypeChainsBySubscriptionTypeAndChainType(...) could order by the remaining time, and then search for the one that's the best fit. -
createSubscriptionChainInstance
protected ChainInstance createSubscriptionChainInstance(ExecutionErrorAccumulator eea, String chainTypeName, Subscription subscription, BasePK createdBy) -
createSubscriptionInitialChainInstance
public ChainInstance createSubscriptionInitialChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy) -
createSubscriptionExpirationWarningChainInstance
public ChainInstance createSubscriptionExpirationWarningChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy) -
createSubscriptionRenewalChainInstance
public ChainInstance createSubscriptionRenewalChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy) TODO: Consider the RemainingTime in the SubscriptionDetail when choosing the Chain to use. -
createSubscriptionExpirationChainInstance
public ChainInstance createSubscriptionExpirationChainInstance(ExecutionErrorAccumulator eea, Subscription subscription, BasePK createdBy)
-