/* * 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.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; public class ReadWriteNamedInterfaces implements Iterable { protected List _interfaces; public ReadWriteNamedInterfaces() { _interfaces = new ArrayList(); } public ReadWriteNamedInterfaces(T[] aInterfaces) { _interfaces = new ArrayList(); _interfaces.addAll(Arrays.asList(aInterfaces)); } public int size() { return _interfaces.size(); } public T get(int aIndex) { return _interfaces.get(aIndex); } public T get(String aName) { for (T intf: _interfaces) { if ( intf.getName().equals(aName)) { return intf; } } return null; } public void add(T aInterface) { _interfaces.add(aInterface); } @Override public Iterator iterator() { return _interfaces.iterator(); } }