View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.jetspeed.page.document;
18  
19  import java.util.Iterator;
20  
21  /***
22   * <p>
23   * NodeSet
24   * </p>
25   * <p>
26   *
27   * </p>
28   * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
29   * @version $Id: NodeSet.java 516448 2007-03-09 16:25:47Z ate $
30   *
31   */
32  public interface NodeSet
33  {
34  
35      void add(Node node);
36  
37      /***
38       * <p>
39       * get
40       * </p>     
41       * Returns a Node based on <code>name</code>. <code>name</code>
42       * can either be the fully quallified path, <code>folder1/folder2/myPage.psml</code>
43       * as returned by Node.getPath(), or the page name relative the <code>Node.getParent().getPath()</code>
44       * as return by Node.getName()that this DocumentSet was generated for.
45       * 
46       * @param name
47       * @return
48       */
49      Node get(String name);
50  
51      Iterator iterator();
52      
53      NodeSet subset(String type);
54  
55      NodeSet inclusiveSubset(String regex);
56      
57      NodeSet exclusiveSubset(String regex);
58  
59      int size();
60  
61      boolean contains(Node node);
62  
63      boolean isEmpty();
64  }