/*
- * Copyright 2008 the original author or authors.
- *
+ * Copyright 2005-2010 the original author or authors.
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
import java.util.List;
import java.util.Map;
-
/**
- * DOCUMENT ME!
- *
+ *
* @author $author$
* @version $Revision$
*/
public class DefaultScope implements Scope {
- /**
- * DOCUMENT ME!
- */
private List<Scope> parents;
- /**
- * DOCUMENT ME!
- */
private Map<String, Object> properties;
- /**
- * DOCUMENT ME!
- */
private Map<String, Object> runtimes;
- /**
- * DOCUMENT ME!
- */
private Map<ProvidedInterface, ProvidedInterfaceImplementation> provided;
- /**
- * DOCUMENT ME!
- */
private List<ProvidedInterface> externallyProvided;
-/**
+ /**
* Creates a new DefaultScope object.
- *
- * @param aExternallyProvided DOCUMENT ME!
+ *
*/
public DefaultScope(List<ProvidedInterface> aExternallyProvided) {
this(aExternallyProvided.toArray(new ProvidedInterface[0]));
}
-/**
+ /**
* Creates a new DefaultScope object.
- *
- * @param aExternallyProvided DOCUMENT ME!
+ *
*/
public DefaultScope(ProvidedInterface[] aExternallyProvided) {
this(aExternallyProvided, new ArrayList<Scope>());
}
-/**
+ /**
* Creates a new DefaultScope object.
- *
- * @param aExternallyProvided DOCUMENT ME!
- * @param aParent DOCUMENT ME!
+ *
*/
public DefaultScope(ProvidedInterface[] aExternallyProvided, Scope aParent) {
this(aExternallyProvided, Arrays.asList(new Scope[] { aParent }));
}
-/**
+ /**
* Creates a new DefaultScope object.
- *
- * @param aExternallyProvided DOCUMENT ME!
- * @param aParent DOCUMENT ME!
+ *
*/
public DefaultScope(ProvidedInterface[] aExternallyProvided,
List<Scope> aParent) {
- parents = new ArrayList<Scope>(aParent);
- properties = new HashMap<String, Object>();
- runtimes = new HashMap<String, Object>();
- provided = new HashMap<ProvidedInterface, ProvidedInterfaceImplementation>();
- externallyProvided = new ArrayList<ProvidedInterface>();
+ parents = new ArrayList<Scope>(aParent);
+ properties = new HashMap<String, Object>();
+ runtimes = new HashMap<String, Object>();
+ provided = new HashMap<ProvidedInterface, ProvidedInterfaceImplementation>();
+ externallyProvided = new ArrayList<ProvidedInterface>();
externallyProvided.addAll(Arrays.asList(aExternallyProvided));
}
- /**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
@Override
public List<ProvidedInterface> getProvidedInterfaces() {
return Collections.unmodifiableList(externallyProvided);
}
- /**
- * DOCUMENT ME!
- *
- * @param aKey DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
@Override
public Object get(String aKey) {
return properties.get(aKey);
}
- /**
- * DOCUMENT ME!
- *
- * @param aKey DOCUMENT ME!
- * @param aValue DOCUMENT ME!
- */
@Override
public void put(String aKey, Object aValue) {
properties.put(aKey, aValue);
}
- /**
- * DOCUMENT ME!
- *
- * @param aComponent DOCUMENT ME!
- * @param aRuntime DOCUMENT ME!
- */
@Override
public void addRuntime(Component aComponent, Object aRuntime) {
runtimes.put(aComponent.getName(), aRuntime);
}
- /**
- * DOCUMENT ME!
- *
- * @param aComponent DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
@Override
public Object getRuntime(Component aComponent) {
return runtimes.get(aComponent.getName());
}
- /**
- * DOCUMENT ME!
- *
- * @param aName DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
@Override
public Object getRuntime(String aName) {
return runtimes.get(aName);
}
- /**
- * DOCUMENT ME!
- *
- * @param aInterface DOCUMENT ME!
- * @param aImplementation DOCUMENT ME!
- */
@Override
synchronized public void publishInterface(ProvidedInterface aInterface,
Object aImplementation) {
- provided.put(aInterface,
- new ProvidedInterfaceImplementation(aInterface, aImplementation));
+ provided.put(aInterface, new ProvidedInterfaceImplementation(
+ aInterface, aImplementation));
}
- /**
- * DOCUMENT ME!
- *
- * @param <T> DOCUMENT ME!
- * @param aInterface DOCUMENT ME!
- * @param aType DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
@Override
public <T> T getInterfaceImplementation(ProvidedInterface aInterface,
Class<T> aType) {
}
return null;
- } else {
- return providedIntf.getImplementation(aType);
}
+ return providedIntf.getImplementation(aType);
}
}