01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * 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: */
18:
19: package org.apache.lenya.cms.site.tree;
20:
21: import org.apache.lenya.cms.site.SiteException;
22: import org.apache.lenya.cms.site.SiteNode;
23: import org.apache.lenya.cms.site.SiteStructure;
24:
25: /**
26: * A sitetree.
27: *
28: * @version $Id: SiteTree.java 177923 2005-05-23 05:15:51Z gregor $
29: */
30: public interface SiteTree extends SiteStructure {
31:
32: /**
33: * The type of sitetree identifiable objects.
34: */
35: String IDENTIFIABLE_TYPE = "site";
36:
37: /**
38: * Move up the node amongst its siblings.
39: *
40: * @param path The document id of the node.
41: * @throws SiteException if the moving failed.
42: */
43: void moveUp(String path) throws SiteException;
44:
45: /**
46: * Move down the node amongst its siblings.
47: * @param path The document id of the node.
48: * @throws SiteException if the moving failed.
49: */
50: void moveDown(String path) throws SiteException;
51:
52: /**
53: * @return The nodes in pre order.
54: */
55: SiteNode[] preOrder();
56:
57: }
|