(no commit message)
authorerik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Fri, 6 Jun 2008 17:51:12 +0000 (17:51 +0000)
committererik <erik@77661180-640e-0410-b3a8-9f9b13e6d0e0>
Fri, 6 Jun 2008 17:51:12 +0000 (17:51 +0000)
trunk/system/general/src/main/java/org/wamblee/system/core/AbstractComponent.java
trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteNamedInterfaces.java [deleted file]
trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteProvidedInterfaces.java [deleted file]
trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteRequiredInterfaces.java [deleted file]

index 38df3bc4c9bc297874834eaf1953fd3083e8962d..31e50ed58ad251bf90a1cd8afdffde7656aadf89 100644 (file)
@@ -17,6 +17,7 @@ package org.wamblee.system.core;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -35,8 +36,8 @@ public abstract class AbstractComponent<Type> implements Component<Type> {
 
        private String _context;
        private String _name;
-       private ReadWriteProvidedInterfaces _provided;
-       private ReadWriteRequiredInterfaces _required;
+       private List<ProvidedInterface> _provided;
+       private List<RequiredInterface> _required;
 
        /**
         * Constructs the subsystem.
@@ -53,8 +54,10 @@ public abstract class AbstractComponent<Type> implements Component<Type> {
                _remaining = new ThreadLocal<List<ProvidedInterface>>();
                _context = null;
                _name = aName;
-               _provided = new ReadWriteProvidedInterfaces(aProvided);
-               _required = new ReadWriteRequiredInterfaces(aRequired);
+               _provided = new ArrayList<ProvidedInterface>();
+               _provided.addAll(Arrays.asList(aProvided));
+               _required = new ArrayList<RequiredInterface>(); 
+               _required.addAll(Arrays.asList(aRequired));
        }
        
        protected AbstractComponent(String aName) {
@@ -100,12 +103,12 @@ public abstract class AbstractComponent<Type> implements Component<Type> {
 
        @Override
        public final ProvidedInterfaces getProvidedInterfaces() {
-               return _provided.readOnlyView();
+               return new ProvidedInterfaces(Collections.unmodifiableList(_provided));
        }
 
        @Override
        public final RequiredInterfaces getRequiredInterfaces() {
-               return _required.readOnlyView();
+               return new RequiredInterfaces(Collections.unmodifiableList(_required));
        }
 
        @Override
diff --git a/trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteNamedInterfaces.java b/trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteNamedInterfaces.java
deleted file mode 100644 (file)
index ea7d490..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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<T extends NamedInterface> extends ArrayList<T> {
-
-    public ReadWriteNamedInterfaces() {
-        // Empty.
-    }
-    
-    public ReadWriteNamedInterfaces(T[] aInterfaces) { 
-        addAll(Arrays.asList(aInterfaces));
-    }
-   
-    public T get(String aName) { 
-        for (T intf: this) { 
-            if ( intf.getName().equals(aName)) { 
-                return intf; 
-            }
-        }
-        return null; 
-    }
-}
diff --git a/trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteProvidedInterfaces.java b/trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteProvidedInterfaces.java
deleted file mode 100644 (file)
index 3c5c159..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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;
-
-public class ReadWriteProvidedInterfaces extends ReadWriteNamedInterfaces<ProvidedInterface> {
-    
-    public ReadWriteProvidedInterfaces() { 
-        super(); 
-    }
-    
-    public ReadWriteProvidedInterfaces(ProvidedInterface[] aInterfaces) { 
-        super(aInterfaces);
-    }
-
-    public ProvidedInterfaces readOnlyView() { 
-        return new ProvidedInterfaces(this);
-    }
-}
diff --git a/trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteRequiredInterfaces.java b/trunk/system/general/src/main/java/org/wamblee/system/core/ReadWriteRequiredInterfaces.java
deleted file mode 100644 (file)
index 033afa8..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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;
-
-public class ReadWriteRequiredInterfaces extends ReadWriteNamedInterfaces<RequiredInterface> {
-
-    public ReadWriteRequiredInterfaces() { 
-        super();
-    }
-    
-    public ReadWriteRequiredInterfaces(RequiredInterface[] aInterfaces) { 
-        super(aInterfaces);
-    }
-    
-    public RequiredInterfaces readOnlyView() {
-        return new RequiredInterfaces(this);
-    }
-}