+++ /dev/null
-/*
- * Copyright 2008 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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wamblee.system.core;
-
-import java.util.List;
-
-/**
- * Read-only access to the provided interfaces of a component.
- *
- * @author Erik Brakkee.
- *
- */
-public class ProvidedInterfaces extends ReadOnlyNamedInterfaces<ProvidedInterface> {
-
- /**
- * Constructs the provided interfaces.
- * @param aInterfaces List of interfaces.
- */
- public ProvidedInterfaces(List<ProvidedInterface> aInterfaces) {
- super(ProvidedInterface.class, aInterfaces);
- }
-}
+++ /dev/null
-/*
- * Copyright 2008 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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wamblee.system.core;
-
-import java.lang.reflect.Array;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * A set of interfaces that cannot be changed with useful added functionality.
- *
- * @author Erik Brakkee
- *
- * @param <T>
- */
-public class ReadOnlyNamedInterfaces<T extends NamedInterface> implements Iterable<T> {
-
- private Class<T> _type;
- private List<T> _interfaces;
-
- public ReadOnlyNamedInterfaces(Class<T> aType, List<T> aInterfaces) {
- _type = aType;
- _interfaces = Collections.unmodifiableList(aInterfaces);
- }
-
- /**
- * @return Number of interfaces.
- */
- public int size() {
- return _interfaces.size();
- }
-
- /**
- * Gets the interface at a given index.
- * @param aIndex Index of the interface to return.
- * @return Interface.
- */
- public T get(int aIndex) {
- return _interfaces.get(aIndex);
- }
-
- /**
- * Gets the interface with a specific name.
- * @param aName Interface name.
- * @return Interface.
- */
- public T get(String aName) {
- for (T intf: _interfaces) {
- if ( intf.getName().equals(aName)) {
- return intf;
- }
- }
- return null;
- }
-
- @Override
- public Iterator<T> iterator() {
- return _interfaces.iterator();
- }
-
- /**
- * Converts the interfaces to an array.
- * @return List of interfaces in an array.
- */
- public T[] toArray() {
- T[] storage = (T[])Array.newInstance(_type, _interfaces.size());
- return _interfaces.toArray(storage);
- }
-}
+++ /dev/null
-/*
- * Copyright 2008 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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.wamblee.system.core;
-
-import java.util.List;
-
-/**
- * Read-only access to required interfaces of a component.
- * @author Erik Brakkee
- *
- */
-public class RequiredInterfaces extends ReadOnlyNamedInterfaces<RequiredInterface> {
-
- public RequiredInterfaces(List<RequiredInterface> aInterfaces) {
- super(RequiredInterface.class, aInterfaces);
- }
-
-}
import org.wamblee.system.core.DefaultScope;
import org.wamblee.system.core.Environment;
import org.wamblee.system.core.ProvidedInterface;
-import org.wamblee.system.core.ProvidedInterfaces;
import org.wamblee.system.core.RequiredInterface;
-import org.wamblee.system.core.RequiredInterfaces;
import org.wamblee.system.core.Scope;
import org.wamblee.system.core.StringComponent;
import org.wamblee.system.core.SystemAssemblyException;
import java.util.List;
import org.springframework.beans.factory.FactoryBean;
-import org.wamblee.system.core.ProvidedInterface;
import org.wamblee.system.core.RequiredInterface;
-import org.wamblee.system.core.RequiredInterfaces;
import org.wamblee.system.core.SystemAssemblyException;
/**