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.link;
19:
20: import org.sape.carbon.core.config.node.ConfigurationDocument;
21: import org.sape.carbon.core.config.node.Node;
22: import org.sape.carbon.core.config.node.NodeCreationException;
23:
24: /**
25: * Factory interface for objects that can construct <code>LinkNode</code>s.
26: *
27: * Copyright 2002 Sapient
28: * @since carbon 1.0
29: * @author Douglas Voet, March 2002
30: * @version $Revision: 1.3 $($Author: dvoet $ / $Date: 2003/05/05 21:21:19 $)
31: */
32: public interface LinkNodeFactory {
33: /**
34: * Constructs a <code>LinkNode</code>.
35: *
36: * @param parent the parent <code>Folder</code> of the
37: * <code>LinkNode</code>. Can be null only if the <code>LinkNode</code>
38: * is the root <code>Node</code> for the <code>ConfigurationService</code>
39: * @param name the name of the <code>LinkNode</code>. Cannot be null.
40: * @param linkConfigurationDoc the <code>ConfigurationDocument</code>
41: * containing the <code>LinkNodeConfiguration</code> for the new link.
42: * Cannot be null.
43: * @return LinkNode the new link
44: * @throws NodeCreationException if the <code>LinkNode</code> cannot be
45: * created.
46: * @throws NullPointerException if name or linkConfigurationDoc is null
47: */
48: LinkNode getInstance(Node parent, String name,
49: ConfigurationDocument linkConfigurationDoc)
50: throws NodeCreationException;
51: }
|