View Javadoc

1   /*
2    * Copyright 2004-2005, 2007 the original author or authors.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5    * use this file except in compliance with the License. You may obtain a copy of
6    * the License at
7    * 
8    * http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13   * License for the specific language governing permissions and limitations under
14   * the License.
15   */
16  package net.sf.composite;
17  
18  import java.util.Map;
19  
20  /***
21   * A composite which keeps its components in a registry such that each component
22   * has a unique String name.  This allows for components in the registry to be
23   * retrieved and replaced by name.
24   * 
25   * @author Matt Sgarlata
26   * @since Mar 14, 2005
27   */
28  public interface RegistryComposite extends Composite {
29  	
30  	/***
31  	 * Retrieves a mapping of component names to component objects.  This
32  	 * mapping should have String keys but may have as values any Object.  It
33  	 * is not required that the values in this map implement the Component
34  	 * interface, though implementing the Component interface is encouraged for
35  	 * clarity's sake.
36  	 * 
37  	 * @return a mapping of component names to component objects
38  	 */
39  	public Map getComponents();
40  	
41  	/***
42  	 * Sets a mapping of component names to component objects.  This
43  	 * mapping should have String keys but may have as values any Object.  It
44  	 * is not required that the values in this map implement the Component
45  	 * interface, though implementing the Component interface is encouraged for
46  	 * clarity's sake.
47  	 * 
48  	 * @param components a mapping of component names to component objects
49  	 */
50  	public void setComponents(Map components);
51  	
52  }