+ /**
+ * For input node, find if it contains config:java-name-prefix extension. If
+ * not found, convert local name of node converted to cammel case.
+ */
+ public static String findJavaNamePrefix(final SchemaNode schemaNode) {
+ return convertToJavaName(schemaNode, true);
+ }
+
+ public static String findJavaParameter(final SchemaNode schemaNode) {
+ return convertToJavaName(schemaNode, false);
+ }
+
+ public static String convertToJavaName(final SchemaNode schemaNode,
+ final boolean capitalizeFirstLetter) {
+ for (final UnknownSchemaNode unknownNode : schemaNode.getUnknownSchemaNodes()) {
+ if (ConfigConstants.JAVA_NAME_PREFIX_EXTENSION_QNAME
+ .equals(unknownNode.getNodeType())) {
+ final String value = unknownNode.getNodeParameter();
+ return convertToJavaName(value, capitalizeFirstLetter);
+ }
+ }
+ return convertToJavaName(schemaNode.getQName().getLocalName(),
+ capitalizeFirstLetter);
+ }
+
+ public static String convertToJavaName(final String localName,
+ final boolean capitalizeFirstLetter) {
+ if (capitalizeFirstLetter) {
+ return BindingGeneratorUtil.parseToClassName(localName);
+ } else {
+ return BindingGeneratorUtil.parseToValidParamName(localName);
+ }
+ }
+
+ public Type getType(final LeafSchemaNode leaf) {
+ final TypeDefinition<?> type = CompatUtils.compatLeafType(leaf);