X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fcore%2FDefaultProvidedInterface.java;h=484f63a0a9730198b3fdfeb9bf606cb08aea600b;hb=ddd261f331280640c5b53c7128230b629ebcd268;hp=d30a8c150d39c5c956cd3295f5901d87cdc0ccf0;hpb=92e23e5ecf9614f2ab770a8cdedc0b21ddf1e127;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/core/DefaultProvidedInterface.java b/system/general/src/main/java/org/wamblee/system/core/DefaultProvidedInterface.java index d30a8c15..484f63a0 100644 --- a/system/general/src/main/java/org/wamblee/system/core/DefaultProvidedInterface.java +++ b/system/general/src/main/java/org/wamblee/system/core/DefaultProvidedInterface.java @@ -1,18 +1,18 @@ /* * Copyright 2007 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; @@ -27,81 +27,141 @@ import java.util.List; * @author Erik Brakkee */ public class DefaultProvidedInterface implements ProvidedInterface { - - private String name; - private Class[] interfaces; - - /** - * Constructs the descriptor. - * @param aInterface Type of service. - */ - public DefaultProvidedInterface(String aName, Class aInterface) { - this(aName, new Class[] { aInterface }); - } - - public DefaultProvidedInterface(String aName, Class[] aInterfaces) { - name = aName; - interfaces = Arrays.copyOf(aInterfaces, aInterfaces.length); - } - - @Override - public String getName() { - return name; - } - - @Override - public Class[] getInterfaceTypes() { - return interfaces; - } - - @Override - public String toString() { - StringBuffer buf = new StringBuffer(); - buf.append(getName()); - buf.append(":"); - for (Class intf: interfaces) { - buf.append(" " + intf.getName()); - } - return buf.toString(); - } - - @Override - public boolean equals(Object aObj) { - return this == aObj; - /* - if ( !(aObj instanceof DefaultProvidedInterface)) { - return false; - } - DefaultProvidedInterface provided = (DefaultProvidedInterface)aObj; - return getEqualsRepresentation().equals(provided.getEqualsRepresentation()); - */ - } - - @Override - public int hashCode() { - return getEqualsRepresentation().hashCode(); - } - - @Override - public boolean covers(ProvidedInterface aInterface) { - // TODO do more than just equals. - if ( !(aInterface instanceof DefaultProvidedInterface)) { - return false; - } - return getEqualsRepresentation().equals(((DefaultProvidedInterface)aInterface).getEqualsRepresentation()); - } - - - private String getEqualsRepresentation() { - List result = new ArrayList(); - for (Class cls: interfaces) { - result.add(cls.getName()); - } - Collections.sort(result); - String value = ""; - for (String str: result) { - value += ":" + str; - } - return value; - } + /** + * DOCUMENT ME! + */ + private String name; + + /** + * DOCUMENT ME! + */ + private Class[] interfaces; + +/** + * Constructs the descriptor. + * @param aInterface Type of service. + */ + public DefaultProvidedInterface(String aName, Class aInterface) { + this(aName, new Class[] { aInterface }); + } + +/** + * Creates a new DefaultProvidedInterface object. + * + * @param aName DOCUMENT ME! + * @param aInterfaces DOCUMENT ME! + */ + public DefaultProvidedInterface(String aName, Class[] aInterfaces) { + name = aName; + interfaces = Arrays.copyOf(aInterfaces, aInterfaces.length); + } + + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + @Override + public String getName() { + return name; + } + + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + @Override + public Class[] getInterfaceTypes() { + return interfaces; + } + + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + @Override + public String toString() { + StringBuffer buf = new StringBuffer(); + buf.append(getName()); + buf.append(":"); + + for (Class intf : interfaces) { + buf.append(" " + intf.getName()); + } + + return buf.toString(); + } + + /** + * DOCUMENT ME! + * + * @param aObj DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + @Override + public boolean equals(Object aObj) { + return this == aObj; + + /* + if ( !(aObj instanceof DefaultProvidedInterface)) { + return false; + } + DefaultProvidedInterface provided = (DefaultProvidedInterface)aObj; + return getEqualsRepresentation().equals(provided.getEqualsRepresentation()); + */ + } + + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + @Override + public int hashCode() { + return getEqualsRepresentation().hashCode(); + } + + /** + * DOCUMENT ME! + * + * @param aInterface DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + @Override + public boolean covers(ProvidedInterface aInterface) { + // TODO do more than just equals. + if (!(aInterface instanceof DefaultProvidedInterface)) { + return false; + } + + return getEqualsRepresentation() + .equals(((DefaultProvidedInterface) aInterface).getEqualsRepresentation()); + } + + /** + * DOCUMENT ME! + * + * @return DOCUMENT ME! + */ + private String getEqualsRepresentation() { + List result = new ArrayList(); + + for (Class cls : interfaces) { + result.add(cls.getName()); + } + + Collections.sort(result); + + String value = ""; + + for (String str : result) { + value += (":" + str); + } + + return value; + } }