Example usage for org.springframework.beans.factory.config BeanDefinition getConstructorArgumentValues

List of usage examples for org.springframework.beans.factory.config BeanDefinition getConstructorArgumentValues

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config BeanDefinition getConstructorArgumentValues.

Prototype

ConstructorArgumentValues getConstructorArgumentValues();

Source Link

Document

Return the constructor argument values for this bean.

Usage

From source file:org.statefulj.framework.core.model.impl.MemoryPersistenceSupportBeanFactoryImpl.java

@Override
public BeanDefinition buildPersisterBean(Class<?> statefulClass, String repoBeanId,
        BeanDefinition repoBeanDefinitionFactory, String stateFieldName, String startStateId,
        List<RuntimeBeanReference> stateBeans) {
    BeanDefinition persisterBean = BeanDefinitionBuilder.genericBeanDefinition(MemoryPersisterImpl.class)
            .getBeanDefinition();//from  ww w. ja v  a 2  s  .  c  o  m
    ConstructorArgumentValues args = persisterBean.getConstructorArgumentValues();
    args.addIndexedArgumentValue(0, stateBeans);
    args.addIndexedArgumentValue(1, new RuntimeBeanReference(startStateId));
    args.addIndexedArgumentValue(2, stateFieldName);
    return persisterBean;
}

From source file:org.statefulj.framework.core.StatefulFactory.java

/**
 * @param referenceFactory//from w  w w .ja v a  2s.  com
 * @param from
 * @param to
 * @param reload
 * @param transition
 * @param transitionId
 * @param reg
 * @param actionRef
 */
private void registerTransition(ReferenceFactory referenceFactory, String from, String to, boolean reload,
        Transition transition, String transitionId, BeanDefinitionRegistry reg,
        RuntimeBeanReference actionRef) {
    // Build the Transition Bean
    //
    BeanDefinition transitionBean = BeanDefinitionBuilder.genericBeanDefinition(TransitionImpl.class)
            .getBeanDefinition();

    String fromId = referenceFactory.getStateId(from);
    String toId = referenceFactory.getStateId(to);
    Pair<String, String> providerEvent = parseEvent(transition.event());

    ConstructorArgumentValues args = transitionBean.getConstructorArgumentValues();
    args.addIndexedArgumentValue(0, new RuntimeBeanReference(fromId));
    args.addIndexedArgumentValue(1, new RuntimeBeanReference(toId));
    args.addIndexedArgumentValue(2, providerEvent.getRight());
    args.addIndexedArgumentValue(3, actionRef);
    args.addIndexedArgumentValue(4,
            (transition.from().equals(Transition.ANY_STATE) && transition.to().equals(Transition.ANY_STATE)));
    args.addIndexedArgumentValue(5, reload);
    reg.registerBeanDefinition(transitionId, transitionBean);
}

From source file:org.statefulj.framework.core.StatefulFactory.java

/**
 * @param referenceFactory/*from  w  w  w.  ja  v a  2 s  .co m*/
 * @param method
 * @param isDomainEntity
 * @param controllerRef
 * @param reg
 * @param actionId
 */
private void registerMethodInvocationAction(ReferenceFactory referenceFactory, Method method,
        boolean isDomainEntity, RuntimeBeanReference controllerRef, BeanDefinitionRegistry reg,
        String actionId) {
    // Choose the type of invocationAction based off of
    // whether the controller is a DomainEntity
    //
    Class<?> methodInvocationAction = (isDomainEntity) ? DomainEntityMethodInvocationAction.class
            : MethodInvocationAction.class;

    BeanDefinition actionBean = BeanDefinitionBuilder.genericBeanDefinition(methodInvocationAction)
            .getBeanDefinition();

    ConstructorArgumentValues args = actionBean.getConstructorArgumentValues();
    args.addIndexedArgumentValue(0, method.getName());
    args.addIndexedArgumentValue(1, method.getParameterTypes());
    args.addIndexedArgumentValue(2, new RuntimeBeanReference(referenceFactory.getFSMId()));

    if (!isDomainEntity) {
        args.addIndexedArgumentValue(3, controllerRef);
    }

    reg.registerBeanDefinition(actionId, actionBean);
}

From source file:org.statefulj.framework.core.StatefulFactory.java

private String registerState(ReferenceFactory referenceFactory, Class<?> statefulControllerClass, String state,
        boolean isBlocking, BeanDefinitionRegistry reg) {

    String stateId = referenceFactory.getStateId(state);
    BeanDefinition stateBean = BeanDefinitionBuilder.genericBeanDefinition(StateImpl.class).getBeanDefinition();

    ConstructorArgumentValues args = stateBean.getConstructorArgumentValues();
    args.addIndexedArgumentValue(0, state);
    args.addIndexedArgumentValue(1, false);
    args.addIndexedArgumentValue(2, isBlocking);

    reg.registerBeanDefinition(stateId, stateBean);

    return stateId;
}

From source file:org.statefulj.framework.core.StatefulFactory.java

private String registerFSM(ReferenceFactory referenceFactory, Class<?> statefulControllerClass,
        StatefulController scAnnotation, String persisterId, Class<?> managedClass, String finderId,
        Class<? extends Annotation> idAnnotationType, BeanDefinitionRegistry reg) {
    int retryAttempts = scAnnotation.retryAttempts();
    int retryInterval = scAnnotation.retryInterval();

    String fsmBeanId = referenceFactory.getFSMId();
    BeanDefinition fsmBean = BeanDefinitionBuilder.genericBeanDefinition(FSM.class).getBeanDefinition();
    ConstructorArgumentValues args = fsmBean.getConstructorArgumentValues();
    args.addIndexedArgumentValue(0, fsmBeanId);
    args.addIndexedArgumentValue(1, new RuntimeBeanReference(persisterId));
    args.addIndexedArgumentValue(2, retryAttempts);
    args.addIndexedArgumentValue(3, retryInterval);
    args.addIndexedArgumentValue(4, managedClass);
    args.addIndexedArgumentValue(5, idAnnotationType);
    args.addIndexedArgumentValue(6, this.appContext);

    if (finderId != null) {
        args.addIndexedArgumentValue(7, new RuntimeBeanReference(finderId));
    }/*from   ww w. j  av a 2  s  .  c o m*/

    reg.registerBeanDefinition(fsmBeanId, fsmBean);
    return fsmBeanId;
}

From source file:org.statefulj.framework.core.StatefulFactory.java

private String registerStatefulFSMBean(ReferenceFactory referenceFactory, Class<?> statefulClass,
        String fsmBeanId, String factoryId, List<String> transitionIds, BeanDefinitionRegistry reg) {
    String statefulFSMBeanId = referenceFactory.getStatefulFSMId();
    BeanDefinition statefulFSMBean = BeanDefinitionBuilder.genericBeanDefinition(StatefulFSMImpl.class)
            .getBeanDefinition();/*from w  w w  .  j  av  a  2 s . c o  m*/
    ConstructorArgumentValues args = statefulFSMBean.getConstructorArgumentValues();
    args.addIndexedArgumentValue(0, new RuntimeBeanReference(fsmBeanId));
    args.addIndexedArgumentValue(1, statefulClass);
    args.addIndexedArgumentValue(2, new RuntimeBeanReference(factoryId));
    reg.registerBeanDefinition(statefulFSMBeanId, statefulFSMBean);
    statefulFSMBean.setDependsOn(transitionIds.toArray(new String[] {}));
    return statefulFSMBeanId;
}