01: /*
02: * The contents of this file are subject to the Sapient Public License
03: * Version 1.0 (the "License"); you may not use this file except in compliance
04: * with the License. You may obtain a copy of the License at
05: * http://carbon.sf.net/License.html.
06: *
07: * Software distributed under the License is distributed on an "AS IS" basis,
08: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
09: * the specific language governing rights and limitations under the License.
10: *
11: * The Original Code is The Carbon Component Framework.
12: *
13: * The Initial Developer of the Original Code is Sapient Corporation
14: *
15: * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16: */
17:
18: package org.sape.carbon.core.config.node;
19:
20: /**
21: * Factory interface for objects that can construct <code>Node</code>s.
22: *
23: * Copyright 2002 Sapient
24: * @since carbon 1.0
25: * @author Douglas Voet, March 2002
26: * @version $Revision: 1.6 $($Author: dvoet $ / $Date: 2003/05/05 21:21:18 $)
27: */
28: public interface NodeFactory {
29: /**
30: * Constructs a <code>Node</code>.
31: *
32: * @param parent the parent <code>Folder</code> of the
33: * <code>Node</code>. Can be null only if the <code>Node</code>
34: * is the root <code>Node</code> for the <code>ConfigurationService</code>
35: * @param name the name of the <code>Node</code>. Cannot be null.
36: * @return Node the new Node
37: * @throws NodeCreationException if the <code>LinkNode</code> cannot be
38: * created.
39: * @throws NullPointerException if name or linkConfigurationDoc is null
40: */
41: Node getInstance(Node parent, String name)
42: throws NodeCreationException;
43: }
|