import static com.google.common.base.Preconditions.checkArgument;
-import java.util.Set;
-
-import org.opendaylight.yangtools.yang.common.QName;
-
+import com.google.common.base.CharMatcher;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableSet;
+import java.util.Set;
+import org.opendaylight.yangtools.yang.common.QName;
public final class BindingMapping {
public static final String QNAME_STATIC_FIELD_NAME = "QNAME";
public static final String PACKAGE_PREFIX = "org.opendaylight.yang.gen.v1";
- private static final Splitter SPACE_SPLITTER = Splitter.on(" ").omitEmptyStrings().trimResults();
+ private static final Splitter CAMEL_SPLITTER = Splitter.on(CharMatcher.anyOf(" _.-").precomputed())
+ .omitEmptyStrings().trimResults();
public static final String MODULE_INFO_CLASS_NAME = "$YangModuleInfoImpl";
public static final String MODEL_BINDING_PROVIDER_CLASS_NAME = "$YangModelBindingProvider";
public static final String RPC_INPUT_SUFFIX = "Input";
public static final String RPC_OUTPUT_SUFFIX = "Output";
+ private BindingMapping() {
+ throw new UnsupportedOperationException("Utility class should not be instantiated");
+ }
+
public static final String getMethodName(final QName name) {
checkArgument(name != null, "Name should not be null.");
return getMethodName(name.getLocalName());
private static final String toCamelCase(final String rawString) {
checkArgument(rawString != null, "String should not be null");
- Iterable<String> components = SPACE_SPLITTER.split(rawString.replace('-', ' ').replace('_', ' ')
- .replace('.', ' '));
+ Iterable<String> components = CAMEL_SPLITTER.split(rawString);
StringBuilder builder = new StringBuilder();
for (String comp : components) {
builder.append(toFirstUpper(comp));
* or <code>null</code> if the input {@link String} {@code s} was
* <code>null</code>.
*/
- private static String toFirstUpper(final String s) {
- if (s == null || s.length() == 0)
+ public static String toFirstUpper(final String s) {
+ if (s == null || s.length() == 0) {
return s;
- if (Character.isUpperCase(s.charAt(0)))
+ }
+ if (Character.isUpperCase(s.charAt(0))) {
return s;
- if (s.length() == 1)
+ }
+ if (s.length() == 1) {
return s.toUpperCase();
+ }
return s.substring(0, 1).toUpperCase() + s.substring(1);
}
* <code>null</code>.
*/
private static String toFirstLower(final String s) {
- if (s == null || s.length() == 0)
+ if (s == null || s.length() == 0) {
return s;
- if (Character.isLowerCase(s.charAt(0)))
+ }
+ if (Character.isLowerCase(s.charAt(0))) {
return s;
- if (s.length() == 1)
+ }
+ if (s.length() == 1) {
return s.toLowerCase();
+ }
return s.substring(0, 1).toLowerCase() + s.substring(1);
}
}