You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2009/04/24 17:03:03 UTC

svn commit: r768328 - /commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/repositories/RepositoryDecorator.java

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() );
+    }
+
 }