X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FAbstractComponent.java;h=31e50ed58ad251bf90a1cd8afdffde7656aadf89;hb=2fd9075c122aaca3613fafd805b4c2fb8b794430;hp=9000f4ae5234a1bc8e2b54536fdd20d29f15c0a2;hpb=fd9ae3f8e84dba593b27d149d6e6a8baf17cc0fa;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/core/AbstractComponent.java b/system/general/src/main/java/org/wamblee/system/core/AbstractComponent.java index 9000f4ae..31e50ed5 100644 --- a/system/general/src/main/java/org/wamblee/system/core/AbstractComponent.java +++ b/system/general/src/main/java/org/wamblee/system/core/AbstractComponent.java @@ -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; @@ -55,7 +56,7 @@ public abstract class AbstractComponent implements Component { _name = aName; _provided = new ArrayList(); _provided.addAll(Arrays.asList(aProvided)); - _required = new ArrayList(); + _required = new ArrayList(); _required.addAll(Arrays.asList(aRequired)); } @@ -101,20 +102,20 @@ public abstract class AbstractComponent implements Component { } @Override - public final ProvidedInterface[] getProvidedInterfaces() { - return _provided.toArray(new ProvidedInterface[0]); + public final ProvidedInterfaces getProvidedInterfaces() { + return new ProvidedInterfaces(Collections.unmodifiableList(_provided)); } @Override - public final RequiredInterface[] getRequiredInterfaces() { - return _required.toArray(new RequiredInterface[0]); + public final RequiredInterfaces getRequiredInterfaces() { + return new RequiredInterfaces(Collections.unmodifiableList(_required)); } @Override public final Type start(Scope aScope) { LOG.info("Initialization starting '" + getQualifiedName() + "'"); List oldRemaining = _remaining.get(); - _remaining.set(new ArrayList(Arrays.asList(getProvidedInterfaces()))); + _remaining.set(new ArrayList(Arrays.asList(getProvidedInterfaces().toArray()))); try { Type runtime = doStart(aScope); checkNotStartedInterfaces();