Beispiel #1
0
        public override T get <T>(Contextual <T> contextual, CreationalContext <T> arg1)
        {
            Bean <T> bean         = (Bean <T>)contextual;
            string   variableName = bean.Name;

            BusinessProcess businessProcess = BusinessProcess;
            object          variable        = businessProcess.getVariable(variableName);

            if (variable != null)
            {
                if (logger.isLoggable(Level.FINE))
                {
                    if (businessProcess.Associated)
                    {
                        logger.fine("Getting instance of bean '" + variableName + "' from Execution[" + businessProcess.ExecutionId + "].");
                    }
                    else
                    {
                        logger.fine("Getting instance of bean '" + variableName + "' from transient bean store");
                    }
                }

                return((T)variable);
            }
            else
            {
                if (logger.isLoggable(Level.FINE))
                {
                    if (businessProcess.Associated)
                    {
                        logger.fine("Creating instance of bean '" + variableName + "' in business process context representing Execution[" + businessProcess.ExecutionId + "].");
                    }
                    else
                    {
                        logger.fine("Creating instance of bean '" + variableName + "' in transient bean store");
                    }
                }

                T beanInstance = bean.create(arg1);
                businessProcess.setVariable(variableName, beanInstance);
                return(beanInstance);
            }
        }