Inline initialization / constructor

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

Branch: refs/heads/master
Commit: deeb45355c8bad0e2b56a063e2275c87522d8709
Parents: d0864f1
Author: klopfdreh <klopfdreh@tobiass-mbp>
Authored: Wed Feb 4 16:55:04 2015 +0100
Committer: klopfdreh <klopfdreh@tobiass-mbp>
Committed: Wed Feb 4 16:55:04 2015 +0100

----------------------------------------------------------------------
 .../wicket/resource/CompositeCssCompressor.java | 47 +++++++++++-------
 .../resource/CompositeJavaScriptCompressor.java | 51 +++++++++++++-------
 2 files changed, 62 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/deeb4535/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 7b3c6e8..bb61687 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
@@ -17,12 +17,13 @@
 package org.apache.wicket.resource;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 import org.apache.wicket.css.ICssCompressor;
 
 /**
- * Used to apply several {@link ICssCompressor} to the css compression.<br>
+ * Used to apply several {@link ICssCompressor} to the CSS compression.<br>
  * <br>
  * Usage:
  * 
@@ -34,6 +35,8 @@ import org.apache.wicket.css.ICssCompressor;
  * 
  * this.getResourceSettings().setCssCompressor(compositeCssCompressor);
  * </pre>
+ * The compressors can also be given as constructor arguments.
+ * 
  * @since 6.20.0
  * @author Tobias Soloschenko
  * 
@@ -42,27 +45,39 @@ public class CompositeCssCompressor implements 
ICssCompressor
 {
 
        /* Compressors to compress the CSS content */
-       private List<ICssCompressor> compressors;
+       private List<ICssCompressor> compressors = new ArrayList<>();
+
+       /**
+        * Initializes an empty composite CSS compressor
+        */
+       public CompositeCssCompressor()
+       {
+       }
+
+       /**
+        * Initializes the composite CSS compressor with the given {@link 
ICssCompressor}
+        * 
+        * @param compressors
+        *            several {@link ICssCompressor} the composite CSS 
compressor is initialized with
+        */
+       public CompositeCssCompressor(ICssCompressor... compressors)
+       {
+               this.compressors = Arrays.asList(compressors);
+       }
 
        /**
-        * Compresses the given original content in the order of compressors.
+        * Compresses the given original content in the order of compressors. 
If no compressor has been
+        * given the original content is going to be returned.
         */
        @Override
        public String compress(String original)
        {
-               if (compressors != null)
+               String compressed = original;
+               for (ICssCompressor compressor : compressors)
                {
-                       String compressed = original;
-                       for (ICssCompressor compressor : compressors)
-                       {
-                               compressed = compressor.compress(compressed);
-                       }
-                       return compressed;
-               }
-               else
-               {
-                       return original;
+                       compressed = compressor.compress(compressed);
                }
+               return compressed;
        }
 
        /**
@@ -73,10 +88,6 @@ public class CompositeCssCompressor implements ICssCompressor
         */
        public List<ICssCompressor> getCompressors()
        {
-               if (compressors == null)
-               {
-                       compressors = new ArrayList<>();
-               }
                return compressors;
        }
 }

http://git-wip-us.apache.org/repos/asf/wicket/blob/deeb4535/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 13d5efc..cb1d101 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
@@ -17,6 +17,7 @@
 package org.apache.wicket.resource;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 import org.apache.wicket.javascript.IJavaScriptCompressor;
@@ -34,6 +35,8 @@ import org.apache.wicket.javascript.IJavaScriptCompressor;
  * 
  * 
this.getResourceSettings().setJavaScriptCompressor(compositeJavaScriptCompressor);
  * </pre>
+ * The compressors can also be given as constructor arguments.
+ * 
  * @since 6.20.0
  * @author Tobias Soloschenko
  *
@@ -42,38 +45,50 @@ public class CompositeJavaScriptCompressor implements 
IJavaScriptCompressor
 {
 
        /* Compressors to compress javascript content */
-       private List<IJavaScriptCompressor> compressors;
+       private List<IJavaScriptCompressor> compressors = new ArrayList<>();
+
+       /**
+        * Initializes an empty composite javascript compressor
+        */
+       public CompositeJavaScriptCompressor()
+       {
+       }
+
+       /**
+        * Initializes the composite javascript compressor with the given 
{@link IJavaScriptCompressor}
+        * 
+        * @param compressors
+        *            several {@link IJavaScriptCompressor} the composite 
javascript compressor is
+        *            initialized with
+        */
+       public CompositeJavaScriptCompressor(IJavaScriptCompressor... 
compressors)
+       {
+               this.compressors = Arrays.asList(compressors);
+       }
 
+       /**
+        * Compresses the given original content in the order of compressors. 
If no compressor has been
+        * given the original content is going to be returned.
+        */
        @Override
        public String compress(String original)
        {
-               if (compressors != null)
+               String compressed = original;
+               for (IJavaScriptCompressor compressor : compressors)
                {
-                       String compressed = original;
-                       for (IJavaScriptCompressor compressor : compressors)
-                       {
-                               compressed = compressor.compress(compressed);
-                       }
-                       return compressed;
-               }
-               else
-               {
-                       return original;
+                       compressed = compressor.compress(compressed);
                }
+               return compressed;
        }
 
        /**
-        * Gets a list of {@link IJavaScriptCompressor} to be used for 
javascript compression. They are applied in the
-        * order of the List.
+        * Gets a list of {@link IJavaScriptCompressor} to be used for 
javascript compression. They are
+        * applied in the order of the List.
         * 
         * @return A list of {@link IJavaScriptCompressor} to be used for 
javascript compression.
         */
        public List<IJavaScriptCompressor> getCompressors()
        {
-               if (compressors == null)
-               {
-                       compressors = new ArrayList<>();
-               }
                return compressors;
        }
 }

Reply via email to