1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.geronimo.genesis.plugins.script;
21
22 import org.apache.commons.logging.Log;
23 import org.apache.commons.logging.LogFactory;
24 import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
25 import org.codehaus.plexus.component.configurator.ConfigurationListener;
26 import org.codehaus.plexus.component.configurator.converters.AbstractConfigurationConverter;
27 import org.codehaus.plexus.component.configurator.converters.lookup.ConverterLookup;
28 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
29 import org.codehaus.plexus.configuration.PlexusConfiguration;
30
31 /**
32 * Plexus converter for {@link DelayedConfiguration} objects.
33 *
34 * @version $Rev: 462757 $ $Date: 2006-10-11 03:24:37 -0700 (Wed, 11 Oct 2006) $
35 */
36 public class DelayedConfigurationConverter
37 extends AbstractConfigurationConverter
38 {
39 private static final Log log = LogFactory.getLog(DelayedConfigurationConverter.class);
40
41 public boolean canConvert(final Class type) {
42 return DelayedConfiguration.class.isAssignableFrom(type);
43 }
44
45 public Object fromConfiguration(final ConverterLookup converterLookup,
46 final PlexusConfiguration configuration,
47 final Class type,
48 final Class baseType,
49 final ClassLoader classLoader,
50 final ExpressionEvaluator expressionEvaluator,
51 final ConfigurationListener listener)
52 throws ComponentConfigurationException
53 {
54 if (log.isDebugEnabled()) {
55 log.debug("Capturing delayed config: " + configuration);
56 }
57
58 return new DelayedConfiguration(converterLookup,
59 configuration,
60 type,
61 baseType,
62 classLoader,
63 expressionEvaluator,
64 listener);
65 }
66 }