Class ConstrainablePlaceProposer
- java.lang.Object
-
- org.processmining.specpp.componenting.system.link.AbstractBaseClass
-
- org.processmining.specpp.proposal.ConstrainablePlaceProposer
-
- All Implemented Interfaces:
java.util.function.Consumer<CandidateConstraint<Place>>,java.util.function.Supplier<Place>,Constrainable<CandidateConstraint<Place>>,ConstrainableProposer<Place,CandidateConstraint<Place>>,Constrainer<GenerationConstraint>,Proposer<Place>,FullComponentSystemUser,ProposerComponent<Place>,HasComponentCollection,IsGlobalProvider,UsesGlobalComponentSystem,UsesLocalComponentSystem,Observer<CandidateConstraint<Place>>,ExposesObservable<GenerationConstraint>,Initializable
- Direct Known Subclasses:
RestartablePlaceProposer
public class ConstrainablePlaceProposer extends AbstractBaseClass implements ConstrainableProposer<Place,CandidateConstraint<Place>>, Constrainer<GenerationConstraint>, ProposerComponent<Place>
This is the base implementation of aconstrainable place proposer. It may receiveCandidateConstraintevents and in turn publishesGenerationConstraintevents that may in turn be used by theconstrainable generator.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classConstrainablePlaceProposer.Builder
-
Field Summary
Fields Modifier and Type Field Description protected ChildGenerationLogicComponent<Place,PlaceState,PlaceNode>cglprotected EventSupervision<GenerationConstraint>constraintOutputprotected AbstractEfficientTreeBasedProposer<Place,PlaceNode>proposerprotected SimpleBuilder<EfficientTreeComponent<PlaceNode>>treeBuilder
-
Constructor Summary
Constructors Constructor Description ConstrainablePlaceProposer(ChildGenerationLogicComponent<Place,PlaceState,PlaceNode> cgl, SimpleBuilder<EfficientTreeComponent<PlaceNode>> treeBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacceptConstraint(CandidateConstraint<Place> candidateConstraint)protected AbstractEfficientTreeBasedProposer<Place,PlaceNode>createSubProposer()java.lang.Class<CandidateConstraint<Place>>getAcceptedConstraintClass()Observable<GenerationConstraint>getConstraintPublisher()java.lang.Class<GenerationConstraint>getPublishedConstraintClass()protected voidinitSelf()Hook for subclasses to initialize themselves after the initial constructor call.PlaceproposeCandidate()protected voidsetProposer(AbstractEfficientTreeBasedProposer<Place,PlaceNode> proposer)-
Methods inherited from class org.processmining.specpp.componenting.system.link.AbstractBaseClass
collectTransitiveSubcomponents, getComponentCollection, getSubComponents, globalComponentSystem, init, localComponentSystem, postSubComponentInit, preSubComponentInit, registerSubComponent, unregisterSubComponent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.processmining.specpp.base.Constrainable
observe
-
Methods inherited from interface org.processmining.specpp.base.Constrainer
getObservable
-
Methods inherited from interface org.processmining.specpp.componenting.system.FullComponentSystemUser
collectTransitiveSubcomponents, connectLocalComponentSystem, getComponentCollection, registerSubComponent, unregisterSubComponent
-
Methods inherited from interface org.processmining.specpp.traits.Initializable
init
-
Methods inherited from interface org.processmining.specpp.componenting.traits.UsesGlobalComponentSystem
globalComponentSystem
-
Methods inherited from interface org.processmining.specpp.componenting.traits.UsesLocalComponentSystem
bridgeToChildren, localComponentSystem
-
-
-
-
Field Detail
-
cgl
protected final ChildGenerationLogicComponent<Place,PlaceState,PlaceNode> cgl
-
treeBuilder
protected final SimpleBuilder<EfficientTreeComponent<PlaceNode>> treeBuilder
-
proposer
protected AbstractEfficientTreeBasedProposer<Place,PlaceNode> proposer
-
constraintOutput
protected final EventSupervision<GenerationConstraint> constraintOutput
-
-
Constructor Detail
-
ConstrainablePlaceProposer
public ConstrainablePlaceProposer(ChildGenerationLogicComponent<Place,PlaceState,PlaceNode> cgl, SimpleBuilder<EfficientTreeComponent<PlaceNode>> treeBuilder)
-
-
Method Detail
-
createSubProposer
protected AbstractEfficientTreeBasedProposer<Place,PlaceNode> createSubProposer()
-
setProposer
protected void setProposer(AbstractEfficientTreeBasedProposer<Place,PlaceNode> proposer)
-
initSelf
protected void initSelf()
Description copied from class:AbstractBaseClassHook for subclasses to initialize themselves after the initial constructor call. At the time this is called, all fulfillable local & global component system requests will be fulfilled. Unless advanced interaction with the underlying systems is required, this is the only relevant hook for user-defined subclasses.- Specified by:
initSelfin classAbstractBaseClass
-
proposeCandidate
public Place proposeCandidate()
- Specified by:
proposeCandidatein interfaceProposer<Place>
-
acceptConstraint
public void acceptConstraint(CandidateConstraint<Place> candidateConstraint)
- Specified by:
acceptConstraintin interfaceConstrainable<CandidateConstraint<Place>>
-
getConstraintPublisher
public Observable<GenerationConstraint> getConstraintPublisher()
- Specified by:
getConstraintPublisherin interfaceConstrainer<GenerationConstraint>
-
getPublishedConstraintClass
public java.lang.Class<GenerationConstraint> getPublishedConstraintClass()
- Specified by:
getPublishedConstraintClassin interfaceConstrainer<GenerationConstraint>
-
getAcceptedConstraintClass
public java.lang.Class<CandidateConstraint<Place>> getAcceptedConstraintClass()
- Specified by:
getAcceptedConstraintClassin interfaceConstrainable<CandidateConstraint<Place>>
-
-