public void registerAll() { for (int i = 0; i < container.getComponentDefSize(); ++i) { ComponentDef cd = container.getComponentDef(i); register(cd); } }
/** * @param interceptorNames */ public void add(final String interceptorNames) { interceptorDefs = (ComponentDef[]) LdiArrayUtil.add(interceptorDefs, container.getComponentDef(interceptorNames)); }
public Object processContainer(final LaContainer container) { for (int i = 0; i < container.getComponentDefSize(); ++i) { final Object result = handler.processComponent(container.getComponentDef(i)); if (result != null) { return result; } } return null; } }, parentFirst);
ComponentDef redefine(ComponentDef componentDef, String path) { String name = componentDef.getComponentName(); String diconPath = constructRedifinitionDiconPath(path, name); if (!LaContainerBuilderUtils.resourceExists(diconPath, this)) { return componentDef; } LaContainer container = LaContainerFactory.create(diconPath); if (!container.hasComponentDef(name)) { throw new RuntimeException("Can't find component definition named '" + name + "' in " + diconPath); } return container.getComponentDef(name); }
protected ComponentDef findComponentDef(String name) { if (name == null) { return null; } LaContainer container = getContainer(); for (int i = 0; i < container.getComponentDefSize(); ++i) { ComponentDef cd = container.getComponentDef(i); if (name.equals(cd.getComponentName())) { return cd; } } return null; }
final boolean hasComponentByType = container.hasComponentDef(propType); if (hasComponentByType) { final ComponentDef cd = container.getComponentDef(propType); if (isSimpleNamingAutoBindable(propName, propType, cd)) { Object value = getComponent(componentDef, propType, component, propName);
public void registerAll() { LaContainer container = getContainer(); for (int i = 0; i < container.getComponentDefSize(); ++i) { ComponentDef cd = container.getComponentDef(i); if (isAppliedComponent(cd)) { register(cd); } } }
return; final ComponentDef cd = container.getRoot().getComponentDef(clazz); if (clazz == cd.getComponentClass()) { return;
protected List<String> findActionComponentNameList() { final List<String> componentNameList = DfCollectionUtil.newArrayList(); final LaContainer container = getRootContainer(); srcDirList.stream().filter(srcDir -> Paths.get(srcDir).toFile().exists()).forEach(srcDir -> { try (Stream<Path> stream = Files.find(Paths.get(srcDir), Integer.MAX_VALUE, (path, attr) -> { return path.toString().endsWith("Action.java"); })) { stream.sorted().map(path -> { final String className = extractActionClassName(path, srcDir); return DfReflectionUtil.forName(className); }).filter(clazz -> !clazz.isInterface() && !Modifier.isAbstract(clazz.getModifiers())).forEach(clazz -> { final String componentName = container.getComponentDef(clazz).getComponentName(); if (componentName != null && !componentNameList.contains(componentName)) { componentNameList.add(componentName); } }); } catch (IOException e) { throw new IllegalStateException("Failed to find the components: " + srcDir, e); } }); IntStream.range(0, container.getComponentDefSize()).forEach(index -> { final ComponentDef componentDef = container.getComponentDef(index); final String componentName = componentDef.getComponentName(); if (componentName.endsWith("Action") && !componentNameList.contains(componentName)) { componentNameList.add(componentDef.getComponentName()); } }); return componentNameList; }
final boolean hasComponentByType = container.hasComponentDef(propType); if (hasComponentByType) { final ComponentDef cd = container.getComponentDef(propType); if (isSimpleNamingAutoBindable(propName, propType, cd)) { final Object value = getComponent(componentDef, propType, component, propName);
public static void mergeContainer(LaContainer container, LaContainer merged) { int size = merged.getChildSize(); for (int i = 0; i < size; i++) { container.include(merged.getChild(i)); } size = merged.getMetaDefSize(); for (int i = 0; i < size; i++) { MetaDef metaDef = merged.getMetaDef(i); metaDef.setContainer(container); container.addMetaDef(metaDef); } // cannot override, always add size = merged.getComponentDefSize(); for (int i = 0; i < size; i++) { ComponentDef componentDef = merged.getComponentDef(i); componentDef.setContainer(container); container.register(componentDef); } }