Author: hlship
Date: Thu May 27 17:32:50 2010
New Revision: 948921

URL: http://svn.apache.org/viewvc?rev=948921&view=rev
Log:
Refactor the Worker interface into an abstract base class

Removed:
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/util/func/AbstractWorker.java
Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/util/func/Worker.java
    
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/func/FuncTest.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java?rev=948921&r1=948920&r2=948921&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
 Thu May 27 17:32:50 2010
@@ -21,7 +21,6 @@ import org.apache.tapestry5.dom.Document
 import org.apache.tapestry5.dom.Element;
 import org.apache.tapestry5.dom.Node;
 import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.util.func.AbstractWorker;
 import org.apache.tapestry5.ioc.util.func.F;
 import org.apache.tapestry5.ioc.util.func.Worker;
 import org.apache.tapestry5.json.JSONObject;
@@ -237,7 +236,7 @@ public class DocumentLinkerImpl implemen
 
         final Element scriptContainer = container.element("script-container");
 
-        Worker<String> addScript = new AbstractWorker<String>()
+        Worker<String> addScript = new Worker<String>()
         {
             public void work(String scriptURL)
             {

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java?rev=948921&r1=948920&r2=948921&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/JavascriptSupportImpl.java
 Thu May 27 17:32:50 2010
@@ -27,7 +27,6 @@ import org.apache.tapestry5.ioc.internal
 import org.apache.tapestry5.ioc.internal.util.Defense;
 import org.apache.tapestry5.ioc.internal.util.IdAllocator;
 import org.apache.tapestry5.ioc.services.Coercion;
-import org.apache.tapestry5.ioc.util.func.AbstractWorker;
 import org.apache.tapestry5.ioc.util.func.F;
 import org.apache.tapestry5.ioc.util.func.Worker;
 import org.apache.tapestry5.json.JSONArray;
@@ -93,7 +92,7 @@ public class JavascriptSupportImpl imple
 
     public void commit()
     {
-        F.each(new AbstractWorker<StylesheetLink>()
+        F.each(new Worker<StylesheetLink>()
         {
             public void work(StylesheetLink value)
             {
@@ -101,7 +100,7 @@ public class JavascriptSupportImpl imple
             }
         }, stylesheetLinks);
 
-        Worker<String> linkLibrary = new AbstractWorker<String>()
+        Worker<String> linkLibrary = new Worker<String>()
         {
             public void work(String value)
             {

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java?rev=948921&r1=948920&r2=948921&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ImportWorker.java
 Thu May 27 17:32:50 2010
@@ -24,9 +24,8 @@ import org.apache.tapestry5.annotations.
 import org.apache.tapestry5.annotations.SetupRender;
 import org.apache.tapestry5.ioc.Resource;
 import org.apache.tapestry5.ioc.services.SymbolSource;
-import org.apache.tapestry5.ioc.util.func.Mapper;
-import org.apache.tapestry5.ioc.util.func.AbstractWorker;
 import org.apache.tapestry5.ioc.util.func.F;
+import org.apache.tapestry5.ioc.util.func.Mapper;
 import org.apache.tapestry5.ioc.util.func.Worker;
 import org.apache.tapestry5.model.MutableComponentModel;
 import org.apache.tapestry5.services.AssetSource;
@@ -53,7 +52,7 @@ public class ImportWorker implements Com
 
     private final AssetSource assetSource;
 
-    private final Worker<Asset> importLibrary = new AbstractWorker<Asset>()
+    private final Worker<Asset> importLibrary = new Worker<Asset>()
     {
         public void work(Asset asset)
         {
@@ -61,7 +60,7 @@ public class ImportWorker implements Com
         }
     };
 
-    private final Worker<Asset> importStylesheet = new AbstractWorker<Asset>()
+    private final Worker<Asset> importStylesheet = new Worker<Asset>()
     {
         public void work(Asset asset)
         {

Modified: 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/util/func/Worker.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/util/func/Worker.java?rev=948921&r1=948920&r2=948921&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/util/func/Worker.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/util/func/Worker.java
 Thu May 27 17:32:50 2010
@@ -20,16 +20,30 @@ package org.apache.tapestry5.ioc.util.fu
  * @since 5.2.0
  * @see F#each(Worker, java.util.Collection)
  */
-public interface Worker<T>
+public abstract class Worker<T>
 {
     /**
      * Perform the operation on some object of type T.
      */
-    void work(T value);
+    public abstract void work(T value);
 
     /**
      * Combines this worker with the other worker, forming a new composite 
worker. In the composite,
      * the value passed first to this worker, then to the other worker.
      */
-    Worker<T> combine(Worker<? super T> other);
+    public Worker<T> combine(final Worker<? super T> other)
+    {
+        final Worker<T> first = this;
+
+        return new Worker<T>()
+        {
+            public void work(T value)
+            {
+                first.work(value);
+                other.work(value);
+            }
+
+        };
+    }
+
 }

Modified: 
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/func/FuncTest.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/func/FuncTest.java?rev=948921&r1=948920&r2=948921&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/func/FuncTest.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/func/FuncTest.java
 Thu May 27 17:32:50 2010
@@ -95,7 +95,7 @@ public class FuncTest extends TestBase
 
         final StringBuffer buffer = new StringBuffer();
 
-        Worker<String> worker = new AbstractWorker<String>()
+        Worker<String> worker = new Worker<String>()
         {
             public void work(String value)
             {
@@ -118,7 +118,7 @@ public class FuncTest extends TestBase
 
         final StringBuffer buffer = new StringBuffer();
 
-        Worker<String> worker = new AbstractWorker<String>()
+        Worker<String> worker = new Worker<String>()
         {
             public void work(String value)
             {
@@ -139,7 +139,7 @@ public class FuncTest extends TestBase
     {
         final StringBuffer buffer = new StringBuffer();
 
-        Worker<String> appendWorker = new AbstractWorker<String>()
+        Worker<String> appendWorker = new Worker<String>()
         {
             public void work(String value)
             {
@@ -150,7 +150,7 @@ public class FuncTest extends TestBase
             }
         };
 
-        Worker<String> appendLength = new AbstractWorker<String>()
+        Worker<String> appendLength = new Worker<String>()
         {
             public void work(String value)
             {


Reply via email to