private void addDependencies() { for (Orderable<T> orderable : orderables) { addDependencies(orderable); } }
private void linkNodes(String sourceId, String patternList, DependencyLinker<T> linker) { Collection<DependencyNode<T>> nodes = findDependencies(sourceId, patternList); DependencyNode<T> source = idToDependencyNode.get(sourceId); for (DependencyNode<T> target : nodes) { linker.link(source, target); } }
private void initializeGraph() { trailer = new DependencyNode<T>(logger, new Orderable<T>("*-trailer-*", null)); addNodes(); addDependencies(); }
private Collection<DependencyNode<T>> findDependencies(String sourceId, String patternList) { IdMatcher matcher = buildMatcherForPattern(patternList); Collection<DependencyNode<T>> result = newList(); for (String id : idToDependencyNode.keySet()) { if (sourceId.equals(id)) continue; if (matcher.matches(id)) result.add(idToDependencyNode.get(id)); } return result; }
/** * Adds an object to be ordered. * * @param id unique, qualified id for the target * @param target the object to be ordered (or null as a placeholder) * @param constraints optional, variable constraints * @see #add(org.apache.tapestry5.ioc.Orderable) */ public void add(String id, T target, String... constraints) { lock.check(); add(new Orderable<T>(id, target, constraints)); }
public List<T> getOrdered() { lock.lock(); initializeGraph(); List<T> result = newList(); for (Orderable<T> orderable : trailer.getOrdered()) { T target = orderable.getTarget(); // Nulls are placeholders that are skipped. if (target != null) result.add(target); } return result; }
private void addDependencies(String sourceId, String constraint) { int colonx = constraint.indexOf(':'); String type = colonx > 0 ? constraint.substring(0, colonx) : null; DependencyLinker<T> linker = null; if ("after".equals(type)) linker = after; else if ("before".equals(type)) linker = before; if (linker == null) { logger.warn(UtilMessages.constraintFormat(constraint, sourceId)); return; } String patternList = constraint.substring(colonx + 1); linkNodes(sourceId, patternList, linker); }
private void initializeGraph() { trailer = new DependencyNode<T>(logger, new Orderable<T>("*-trailer-*", null)); addNodes(); addDependencies(); }
private Collection<DependencyNode<T>> findDependencies(String sourceId, String patternList) { IdMatcher matcher = buildMatcherForPattern(patternList); Collection<DependencyNode<T>> result = newList(); for (String id : idToDependencyNode.keySet()) { if (sourceId.equals(id)) continue; if (matcher.matches(id)) result.add(idToDependencyNode.get(id)); } return result; }
/** * Adds an object to be ordered. * * @param id unique, qualified id for the target * @param target the object to be ordered (or null as a placeholder) * @param constraints optional, variable constraints * @see #add(org.apache.tapestry5.ioc.Orderable) */ public void add(String id, T target, String... constraints) { lock.check(); add(new Orderable<T>(id, target, constraints)); }
public List<T> getOrdered() { lock.lock(); initializeGraph(); List<T> result = newList(); for (Orderable<T> orderable : trailer.getOrdered()) { T target = orderable.getTarget(); // Nulls are placeholders that are skipped. if (target != null) result.add(target); } return result; }
private void addDependencies(String sourceId, String constraint) { int colonx = constraint.indexOf(':'); String type = colonx > 0 ? constraint.substring(0, colonx) : null; DependencyLinker<T> linker = null; if ("after".equals(type)) linker = after; else if ("before".equals(type)) linker = before; if (linker == null) { logger.warn(UtilMessages.constraintFormat(constraint, sourceId)); return; } String patternList = constraint.substring(colonx + 1); linkNodes(sourceId, patternList, linker); }
private void addDependencies() { for (Orderable<T> orderable : orderables) { addDependencies(orderable); } }
private void linkNodes(String sourceId, String patternList, DependencyLinker<T> linker) { Collection<DependencyNode<T>> nodes = findDependencies(sourceId, patternList); DependencyNode<T> source = idToDependencyNode.get(sourceId); for (DependencyNode<T> target : nodes) { linker.link(source, target); } }
private void addDependencies(Orderable<T> orderable) { String sourceId = orderable.getId(); for (String constraint : orderable.getConstraints()) { addDependencies(sourceId, constraint); } }
private void addDependencies(Orderable<T> orderable) { String sourceId = orderable.getId(); for (String constraint : orderable.getConstraints()) { addDependencies(sourceId, constraint); } }