private static Object applyStrategies(BeanCreationDirective directive, List<BeanCreationStrategy> strategies) { // TODO create method lookup by annotation/convention // TODO Cache ConstructionStrategy (reuse caching infrastructure) // TODO Resolve JAXB by XmlType Annotation // TODO Check resulting type in each method // TODO Directive toString() // TODO review and document for (BeanCreationStrategy strategy : new CopyOnWriteArrayList<BeanCreationStrategy>(strategies)) { if (strategy.isApplicable(directive)) { return strategy.create(directive); } } return null; }
public static Object create(MappingParameters params, BeanCreationDirective directive) { // TODO create method lookup by annotation/convention // TODO Cache ConstructionStrategy (reuse caching infrastructure) // TODO Resolve JAXB by XmlType Annotation // TODO Check resulting type in each method // TODO Directive toString() // TODO review and document for (BeanCreationStrategy strategy : availableStrategies) { if (strategy.isApplicable(directive)) { return strategy.create(params, directive); } } return null; }
public static Object create(MappingParameters params, BeanCreationDirective directive) { // TODO create method lookup by annotation/convention // TODO Cache ConstructionStrategy (reuse caching infrastructure) // TODO Resolve JAXB by XmlType Annotation // TODO Check resulting type in each method // TODO Directive toString() // TODO review and document for (BeanCreationStrategy strategy : availableStrategies) { if (strategy.isApplicable(directive)) { return strategy.create(params, directive); } } return null; }