Refactor conditional into method call on an enum.

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

Branch: refs/heads/LOG4J-1181
Commit: a9f89aae788a439147e2d7eef82641a45da8d6d8
Parents: 9b16256
Author: ggregory <ggreg...@apache.org>
Authored: Fri Jun 17 17:00:42 2016 -0700
Committer: ggregory <ggreg...@apache.org>
Committed: Fri Jun 17 17:00:42 2016 -0700

----------------------------------------------------------------------
 .../log4j/core/pattern/NameAbbreviator.java     | 28 ++++++++++++--------
 1 file changed, 17 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a9f89aae/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
index 1011937..a0eaa1b 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/NameAbbreviator.java
@@ -176,8 +176,22 @@ public abstract class NameAbbreviator {
          * 2. Retain a given number of parts starting from the end - called 
RETAIN
          */
         private enum Strategy {
-            DROP,
-            RETAIN
+            
+            DROP {
+                @Override
+                int getMinCount() {
+                    return 0;
+                }
+            },
+            RETAIN {
+                @Override
+                int getMinCount() {
+                    return 1;
+                }
+            };
+            
+            abstract int getMinCount();
+
         };
 
         /**
@@ -197,19 +211,11 @@ public abstract class NameAbbreviator {
          * @param strategy drop or retain
          */
         public MaxElementAbbreviator(final int count, final Strategy strategy) 
{
-            final int minCount = getMinCount(strategy);
+            final int minCount = strategy.getMinCount();
             this.count = count < minCount ? minCount : count;
             this.strategy = strategy;
         }
 
-        private int getMinCount(final Strategy strategy) {
-            if (Strategy.DROP == strategy) {
-                return 0;
-            } else { // Strategy.RETAIN
-                return 1;
-            }
-        }
-
         /**
          * Abbreviate name.
          *

Reply via email to