+ /**
+ * 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(SchemaNode schemaNode) {
+ return convertToJavaName(schemaNode, true);
+ }
+
+ public static String findJavaParameter(SchemaNode schemaNode) {
+ return convertToJavaName(schemaNode, false);
+ }
+
+ public static String convertToJavaName(SchemaNode schemaNode,
+ boolean capitalizeFirstLetter) {
+ for (UnknownSchemaNode unknownNode : schemaNode.getUnknownSchemaNodes()) {
+ if (ConfigConstants.JAVA_NAME_PREFIX_EXTENSION_QNAME
+ .equals(unknownNode.getNodeType())) {
+ String value = unknownNode.getNodeParameter();
+ return convertToJavaName(value, capitalizeFirstLetter);
+ }
+ }
+ return convertToJavaName(schemaNode.getQName().getLocalName(),
+ capitalizeFirstLetter);
+ }
+
+ public static String convertToJavaName(String localName,
+ boolean capitalizeFirstLetter) {
+ if (capitalizeFirstLetter) {
+ return BindingGeneratorUtil.parseToClassName(localName);
+ } else {
+ return BindingGeneratorUtil.parseToValidParamName(localName);
+ }
+ }
+