public void execute(BootstrapContext context) { DataConversion.addConversionHandler(Queue.class, new ConversionHandler() { @Override public Object convertFrom(Object in) { if (in instanceof Collection) { return new LinkedList((Collection) in); } return null; } @Override public boolean canConvertFrom(Class cls) { return Collection.class.isAssignableFrom(cls); } }); } }
public void execute(BootstrapContext context) { DataConversion.addConversionHandler(Queue.class, new ConversionHandler() { @Override public Object convertFrom(Object in) { if (in instanceof Collection) { return new LinkedList((Collection) in); } return null; } @Override public boolean canConvertFrom(Class cls) { return Collection.class.isAssignableFrom(cls); } }); } }
addConversionHandler(boolean.class, booleanConverter); addConversionHandler(Boolean.class, booleanConverter); addConversionHandler(File.class, new FileConverter()); addConversionHandler(Dependency.class, new DependencyIdConverter()); addConversionHandler(URL.class, new URLConverter()); addConversionHandler(JavaResource[].class, javaResourceConversionHandler); addConversionHandler(JavaResource.class, new ConversionHandler() addConversionHandler(Resource[].class, resourceConversionHandler); addConversionHandler(Resource.class, new ConversionHandler()
public void testDataConverterStrictMode() throws Exception { OptimizerFactory.setDefaultOptimizer("ASM"); DataConversion.addConversionHandler(Date.class, new MVELDateCoercion()); ParserContext ctx = new ParserContext(); ctx.addImport("Cheese", Cheese.class); ctx.setStrongTyping(true); ctx.setStrictTypeEnforcement(true); Locale.setDefault(Locale.US); Cheese expectedCheese = new Cheese(); expectedCheese.setUseBy(new SimpleDateFormat("dd-MMM-yyyy").parse("10-Jul-1974")); ExpressionCompiler compiler = new ExpressionCompiler("c = new Cheese(); c.useBy = '10-Jul-1974'; return c", ctx); Cheese actualCheese = (Cheese) executeExpression(compiler.compile(), createTestMap()); assertEquals(expectedCheese.getUseBy(), actualCheese.getUseBy()); }