]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ParameterRef.java
Add failOnError property
[gpl/argeo-slc.git] / runtime / org.argeo.slc.core / src / main / java / org / argeo / slc / core / execution / ParameterRef.java
1 package org.argeo.slc.core.execution;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.springframework.beans.factory.FactoryBean;
6
7 public class ParameterRef implements FactoryBean {
8 private final static Log log = LogFactory.getLog(ParameterRef.class);
9
10 private InstantiationManager instantiationManager;
11 private String name;
12
13 /** Cached object. */
14 private Object object;
15
16 public ParameterRef() {
17 }
18
19 /** @deprecated for backward compatibility with pre v0.11.4 approach. */
20 public ParameterRef(String name) {
21 this.name = name;
22 }
23
24 public Object getObject() throws Exception {
25 if (log.isTraceEnabled())
26 log.debug("Parameter ref called for " + name);
27
28 if (object == null)
29 object = instantiationManager.getInitializingFlowParameter(name);
30 return object;
31 }
32
33 public Class<?> getObjectType() {
34 if (object == null)
35 return instantiationManager.getInitializingFlowParameterClass(name);
36 else
37 return object.getClass();
38 }
39
40 public boolean isSingleton() {
41 return true;
42 }
43
44 public void setInstantiationManager(
45 InstantiationManager instantiationManager) {
46 this.instantiationManager = instantiationManager;
47 }
48
49 public void setName(String name) {
50 this.name = name;
51 }
52
53 }