Optimize JavaIdentifierNormalizer.convertFirst() 62/59962/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 5 Jul 2017 09:23:35 +0000 (11:23 +0200)
committerMartin Ciglan <martin.ciglan@pantheon.tech>
Thu, 6 Jul 2017 09:03:07 +0000 (09:03 +0000)
Rather than fiddling around with temporary strings, perform a direct
replacement capabilities of CharMatcher with two possible matches.

Change-Id: I50c4f229ef38dcd9327da183372fc5e6d7c2faf3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding2/mdsal-binding2-generator-util/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/util/JavaIdentifierNormalizer.java

index 44cb795778f765e1f83155107fb004667aca668f..3c478051fda276a13478b5029c29ea4c1de78a3a 100644 (file)
@@ -215,6 +215,7 @@ public final class JavaIdentifierNormalizer {
     private static final Set<String> PRIMITIVE_TYPES = ImmutableSet.of("char[]", "byte[]");
 
     private static final CharMatcher DASH_MATCHER = CharMatcher.is(DASH);
+    private static final CharMatcher DASH_OR_SPACE_MATCHER = CharMatcher.anyOf(" -");
     private static final Splitter DOT_SPLITTER = Splitter.on('.');
 
     private JavaIdentifierNormalizer() {
@@ -526,12 +527,8 @@ public final class JavaIdentifierNormalizer {
      * @return converted char
      */
     private static String convertFirst(final char c, final boolean existNext) {
-        String name = Character.getName(c);
-        if (name.contains(String.valueOf(DASH))) {
-            name = name.replaceAll(String.valueOf(DASH), String.valueOf(UNDERSCORE));
-        }
-        name = existNext ? name + "_" : name;
-        return name.contains(" ") ? name.replaceAll(" ", "_") : name;
+        final String name = DASH_OR_SPACE_MATCHER.replaceFrom(Character.getName(c), UNDERSCORE);
+        return existNext ? name + '_' : name;
     }
 
     /**