removed the unique id from the provided interface. Now using object
[utils] / system / general / src / main / java / org / wamblee / system / core / DefaultProvidedInterface.java
index d3a40bfe227f4aec5d449f2e262b1e76670a093c..6ec52a44291dfb8d89c88b026669b5502b91b297 100644 (file)
@@ -31,7 +31,6 @@ public class DefaultProvidedInterface implements ProvidedInterface {
        
        private String _name; 
        private Class[] _interfaces;
-       private String _uniqueId; 
        
        /**
         * Constructs the descriptor. 
@@ -43,8 +42,7 @@ public class DefaultProvidedInterface implements ProvidedInterface {
        
        public DefaultProvidedInterface(String aName, Class[] aInterfaces) { 
                _name = aName; 
-               _interfaces = Arrays.copyOf(aInterfaces, aInterfaces.length);
-               _uniqueId = UUID.randomUUID().toString(); 
+               _interfaces = Arrays.copyOf(aInterfaces, aInterfaces.length); 
        }
 
        @Override
@@ -57,11 +55,6 @@ public class DefaultProvidedInterface implements ProvidedInterface {
                return _interfaces;
        }
        
-       @Override
-       public String getUniqueId() {
-               return _uniqueId;
-       }
-       
        @Override
        public void publish(Object aImplementation, Scope aScope) {
                aScope.publishInterface(this, aImplementation);
@@ -80,11 +73,14 @@ public class DefaultProvidedInterface implements ProvidedInterface {
        
        @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
@@ -92,6 +88,15 @@ public class DefaultProvidedInterface implements ProvidedInterface {
            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<String> result = new ArrayList<String>();