WICKET-5827 Allow to apply multiple Javascript / CSS compressors

Simplify the API of CompositeJavaScriptCompressor/CompositeCssCompressor. No 
need to expose the list.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/b87b4591
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/b87b4591
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/b87b4591

Branch: refs/heads/master
Commit: b87b4591bf83940f7de75d98278cb6030f6d4e56
Parents: aba8360
Author: Martin Tzvetanov Grigorov <mgrigo...@apache.org>
Authored: Thu Feb 5 23:33:07 2015 +0200
Committer: Martin Tzvetanov Grigorov <mgrigo...@apache.org>
Committed: Thu Feb 5 23:33:07 2015 +0200

----------------------------------------------------------------------
 .../wicket/resource/CompositeCssCompressor.java | 21 ++++++++++----------
 .../resource/CompositeJavaScriptCompressor.java | 19 +++++++++---------
 2 files changed, 19 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/b87b4591/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
 
b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
index a288596..6756491 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeCssCompressor.java
@@ -30,8 +30,8 @@ import org.apache.wicket.css.ICssCompressor;
  * <pre>
  * CompositeCssCompressor compositeCssCompressor = new 
CompositeCssCompressor();
  * 
- * compositeCssCompressor.getCompressors().add(new MyCssCompressor());
- * compositeCssCompressor.getCompressors().add(new AnotherCssCompressor());
+ * compositeCssCompressor.add(new MyCssCompressor());
+ * compositeCssCompressor.add(new AnotherCssCompressor());
  * 
  * this.getResourceSettings().setCssCompressor(compositeCssCompressor);
  * </pre>
@@ -43,15 +43,14 @@ import org.apache.wicket.css.ICssCompressor;
  */
 public class CompositeCssCompressor implements ICssCompressor
 {
-
        /* Compressors to compress the CSS content */
        private final List<ICssCompressor> compressors = new ArrayList<>();
 
        /**
-        * Initializes the composite CSS compressor with the given {@link 
ICssCompressor}
+        * Initializes the composite CSS compressor with the given {@link 
ICssCompressor}(s)
         * 
         * @param compressors
-        *            several {@link ICssCompressor} the composite CSS 
compressor is initialized with
+        *            The {@link ICssCompressor}(s) this composite CSS 
compressor is initialized with
         */
        public CompositeCssCompressor(ICssCompressor... compressors)
        {
@@ -74,13 +73,13 @@ public class CompositeCssCompressor implements 
ICssCompressor
        }
 
        /**
-        * Gets a list of {@link ICssCompressor} to be used for CSS 
compression. They are applied in the
-        * order of the List.
-        * 
-        * @return A list of {@link ICssCompressor} to be used for CSS 
compression.
+        * Adds a ICssCompressor to the list of delegates.
+        *
+        * @return {@code this} instance, for chaining
         */
-       public List<ICssCompressor> getCompressors()
+       public CompositeCssCompressor add(ICssCompressor compressor)
        {
-               return compressors;
+               compressors.add(compressor);
+               return this;
        }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/b87b4591/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
 
b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
index c1888e2..d0f2ffb 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/resource/CompositeJavaScriptCompressor.java
@@ -30,8 +30,8 @@ import org.apache.wicket.javascript.IJavaScriptCompressor;
  * <pre>
  * CompositeJavaScriptCompressor compositeJavaScriptCompressor = new 
CompositeJavaScriptCompressor();
  * 
- * compositeJavaScriptCompressor.getCompressors().add(new 
MyJavaScriptCompressor());
- * compositeJavaScriptCompressor.getCompressors().add(new 
AnotherJavaScriptCompressor());
+ * compositeJavaScriptCompressor.add(new MyJavaScriptCompressor());
+ * compositeJavaScriptCompressor.add(new AnotherJavaScriptCompressor());
  * 
  * 
this.getResourceSettings().setJavaScriptCompressor(compositeJavaScriptCompressor);
  * </pre>
@@ -43,15 +43,14 @@ import org.apache.wicket.javascript.IJavaScriptCompressor;
  */
 public class CompositeJavaScriptCompressor implements IJavaScriptCompressor
 {
-
        /* Compressors to compress javascript content */
        private final List<IJavaScriptCompressor> compressors = new 
ArrayList<>();
 
        /**
-        * Initializes the composite javascript compressor with the given 
{@link IJavaScriptCompressor}
+        * Initializes the composite javascript compressor with the given 
{@link IJavaScriptCompressor}(s)
         * 
         * @param compressors
-        *            several {@link IJavaScriptCompressor} the composite 
javascript compressor is
+        *            The {@link IJavaScriptCompressor}(s) this composite 
javascript compressor is
         *            initialized with
         */
        public CompositeJavaScriptCompressor(IJavaScriptCompressor... 
compressors)
@@ -75,13 +74,13 @@ public class CompositeJavaScriptCompressor implements 
IJavaScriptCompressor
        }
 
        /**
-        * Gets a list of {@link IJavaScriptCompressor} to be used for 
javascript compression. They are
-        * applied in the order of the List.
+        * Adds a IJavaScriptCompressor to the list of delegates.
         * 
-        * @return A list of {@link IJavaScriptCompressor} to be used for 
javascript compression.
+        * @return {@code this} instance, for chaining
         */
-       public List<IJavaScriptCompressor> getCompressors()
+       public CompositeJavaScriptCompressor add(IJavaScriptCompressor 
compressor)
        {
-               return compressors;
+               compressors.add(compressor);
+               return this;
        }
 }

Reply via email to