public NodeSetImpl(List<? extends Node> nodes, Comparator<String> comparator) { this.nodes = new TreeMap<String,Node>(comparator); Node[] nodeToCopy = nodes.toArray(new Node[nodes.size()]); for (int ix = 0; ix < nodeToCopy.length; ix++) { Node node = nodeToCopy[ix]; if (!this.nodes.containsKey( node.getName())) { this.nodes.put(node.getName(), node); } } this.comparator = comparator; }
public int compare(Node proxyNode1, Node proxyNode2) { // compare names of nodes against order or each other by default String name1 = proxyNode1.getName(); String name2 = proxyNode2.getName(); if (order != null) { // compare names against order int index1 = order.indexOf(name1); int index2 = order.indexOf(name2); if ((index1 != -1) || (index2 != -1)) { if ((index1 == -1) && (index2 != -1)) { return 1; } if ((index1 != -1) && (index2 == -1)) { return -1; } return index1-index2; } } // compare names against each other return name1.compareTo(name2); } } ;
/** * get - return proxy Node by name or path * * @param name node name * @return Node proxy */ public Node get(String name) { // search nodes for matching name or path for (Node node : this) { if (node.getName().equals(name) || node.getPath().equals(name)) { return node; } } return null; }
public NodeSet inclusiveSubset(String regex) { Pattern pattern = getCachedPattern(regex); NodeSetImpl subset = new NodeSetImpl(comparator); for (Node node : this) { if (pattern.matcher(node.getName()).matches()) { subset.add(node); } } return subset; }
/** * inclusiveSubset - construct new NodeSet containing Node * proxies whose name or path matches * the specified regex pattern * * @param regex proxy Node name/path match pattern * @return proxy NodeSet list */ public NodeSet inclusiveSubset(String regex) { // search for matching nodes List<Node> subsetNodes = null; Pattern pattern = Pattern.compile(regex); for (Node node : this) { if (pattern.matcher(node.getName()).matches() || pattern.matcher(node.getPath()).matches()) { if (subsetNodes == null) { subsetNodes = new ArrayList<Node>(nodes.size()); } subsetNodes.add(node); } } // wrap matching nodes in new NodeSet if (subsetNodes != null) return new NodeSetImpl(subsetNodes); return null; }
public NodeSet exclusiveSubset(String regex) { Pattern pattern = getCachedPattern(regex); NodeSetImpl subset = new NodeSetImpl(comparator); for (Node node : this) { if (!pattern.matcher(node.getName()).matches()) { subset.add(node); } } return subset; }
/** * exclusiveSubset - construct new NodeSet containing Node * proxies whose name or path does not match * the specified regex pattern * * @param regex proxy Node name/path match pattern * @return proxy NodeSet list */ public NodeSet exclusiveSubset(String regex) { // search for matching nodes List<Node> subsetNodes = null; Pattern pattern = Pattern.compile(regex); for (Node node : this) { if (!pattern.matcher(node.getName()).matches() && !pattern.matcher(node.getPath()).matches()) { if (subsetNodes == null) { subsetNodes = new ArrayList<Node>(nodes.size()); } subsetNodes.add(node); } } // wrap matching nodes in new NodeSet if (subsetNodes != null) return new NodeSetImpl(subsetNodes); return null; }
/** * <p> * inclusiveSubset * </p> * * @see org.apache.jetspeed.page.document.NodeSet#inclusiveSubset(java.lang.String) * @param regex * @return */ public NodeSet inclusiveSubset( String regex ) { NodeSetImpl subset = new NodeSetImpl(resolveToPath, comparator); Pattern pattern = getPattern(regex); for (Map.Entry<String,Node> entry : nodes.entrySet()) { String key = entry.getKey(); Node node = entry.getValue(); if (matches(pattern, key) || matches(pattern, node.getName())) { subset.add(node); } } return subset; }
/** * <p> * exclusiveSubset * </p> * * @see org.apache.jetspeed.page.document.NodeSet#exclusiveSubset(java.lang.String) * @param regex * @return */ public NodeSet exclusiveSubset( String regex ) { NodeSetImpl subset = new NodeSetImpl(resolveToPath, comparator); Pattern pattern = getPattern(regex); for (Map.Entry<String,Node> entry : nodes.entrySet()) { Node node = entry.getValue(); String key = entry.getKey(); if (!matches(pattern, key) && !matches(pattern, node.getName())) { subset.add(node); } } return subset; }
test = elementView.getName();
public NodeBean(Node node) { super(node); path = node.getPath(); name = node.getName(); GenericMetadata metadata = node.getMetadata(); if (metadata != null) { metadataBean = new GenericMetadataBean(metadata); } type = node.getType(); url = node.getUrl(); hidden = node.isHidden(); }