1 /******************************************************************************
2 * Copyright (C) PicoContainer Organization. All rights reserved. *
3 * ------------------------------------------------------------------------- *
4 * The software in this package is published under the terms of the BSD *
5 * style license a copy of which has been included with this distribution in *
6 * the LICENSE.txt file. *
7 * *
8 * Idea by Rachel Davies, Original code by various *
9 *****************************************************************************/
10
11 package org.picocontainer.internals;
12
13 import org.picocontainer.internals.ComponentSpecification;
14 import org.picocontainer.defaults.AmbiguousComponentResolutionException;
15 import org.picocontainer.PicoInitializationException;
16
17 import java.util.Collection;
18 import java.util.List;
19 import java.util.Set;
20
21 public interface ComponentRegistry {
22
23 void registerComponent(ComponentSpecification compSpec);
24
25 Collection getComponentSpecifications();
26
27 List getOrderedComponents();
28
29 void addOrderedComponent(Object component);
30
31 void putComponent(Object componentKey, Object component);
32
33 boolean contains(Object componentKey);
34 // was...
35 // boolean contains(ComponentSpecification componentSpecification);
36
37 Object getComponentInstance(Object componentKey);
38
39 Set getComponentInstanceKeys();
40
41 Set getComponentInstances();
42
43 boolean hasComponentInstance(Object componentKey);
44
45 ComponentSpecification getComponentSpec(Object componentKey);
46
47 Object findImplementingComponent(Class componentType) throws AmbiguousComponentResolutionException;
48
49 ComponentSpecification findImplementingComponentSpecification(Class componentType) throws AmbiguousComponentResolutionException;
50
51 Object createComponent(ComponentSpecification componentSpecification) throws PicoInitializationException;
52
53 void unregisterComponent(Object componentKey);
54 }
This page was automatically generated by Maven