Author: nicolas
Date: Fri Apr 24 15:03:03 2009
New Revision: 768328

URL: http://svn.apache.org/viewvc?rev=768328&view=rev
Log:
RepositoryDecorator to implement Observable

Modified:
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/repositories/RepositoryDecorator.java

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/repositories/RepositoryDecorator.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/repositories/RepositoryDecorator.java?rev=768328&r1=768327&r2=768328&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/repositories/RepositoryDecorator.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/repositories/RepositoryDecorator.java
 Fri Apr 24 15:03:03 2009
@@ -30,7 +30,7 @@
  *
  */
 public abstract class RepositoryDecorator
-    implements Repository
+    implements Repository, Repository.Observable
 {
     private Repository decorated;
 
@@ -99,4 +99,32 @@
     {
         return decorated.start( monitor );
     }
+
+    public Repository getDecorated()
+    {
+        return decorated;
+    }
+
+    // --- Repository.Observable ---
+
+    public void addListener( Listener listener )
+    {
+        if ( decorated instanceof Repository.Observable )
+        {
+            ( (Repository.Observable) decorated ).addListener( listener );
+            return;
+        }
+        throw new UnsupportedOperationException( "Decorated repository is not 
Observable " + decorated.getClass() );
+    }
+
+    public void removeListener( Listener listener )
+    {
+        if ( decorated instanceof Repository.Observable )
+        {
+            ( (Repository.Observable) decorated ).removeListener( listener );
+            return;
+        }
+        throw new UnsupportedOperationException( "Decorated repository is not 
Observable " + decorated.getClass() );
+    }
+
 }


Reply via email to