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: package org.apache.poi.poifs.property;
19:
20: import java.util.Iterator;
21:
22: import java.io.IOException;
23:
24: /**
25: * Behavior for parent (directory) properties
26: *
27: * @author Marc Johnson27591@hotmail.com
28: */
29:
30: public interface Parent extends Child {
31:
32: /**
33: * Get an iterator over the children of this Parent; all elements
34: * are instances of Property.
35: *
36: * @return Iterator of children; may refer to an empty collection
37: */
38:
39: public Iterator getChildren();
40:
41: /**
42: * Add a new child to the collection of children
43: *
44: * @param property the new child to be added; must not be null
45: *
46: * @exception IOException if the Parent already has a child with
47: * the same name
48: */
49:
50: public void addChild(final Property property) throws IOException;
51:
52: /**
53: * Set the previous Child
54: *
55: * @param child the new 'previous' child; may be null, which has
56: * the effect of saying there is no 'previous' child
57: */
58:
59: public void setPreviousChild(final Child child);
60:
61: /**
62: * Set the next Child
63: *
64: * @param child the new 'next' child; may be null, which has the
65: * effect of saying there is no 'next' child
66: */
67:
68: public void setNextChild(final Child child);
69:
70: /** *** end methods from interface Child *** */
71:
72: } // end public interface Parent
|