summaryrefslogtreecommitdiffstats
path: root/tags/java-M1-20060518/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java-M1-20060518/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java')
-rw-r--r--tags/java-M1-20060518/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java212
1 files changed, 0 insertions, 212 deletions
diff --git a/tags/java-M1-20060518/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java b/tags/java-M1-20060518/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java
deleted file mode 100644
index f493356594..0000000000
--- a/tags/java-M1-20060518/java/sca/model/src/main/java/org/apache/tuscany/model/util/XMLNameUtil.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.model.util;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder;
-
-
-
-/**
- * A utility class that converts between XML names and Java names.
- */
-public final class XMLNameUtil {
-
- private static final List<String> DOMAINS = Arrays.asList(new String[]{"COM", "com", "ORG", "org"});
-
- /**
- * Constructor
- */
- private XMLNameUtil() {
- super();
- }
-
- /**
- * Return an EPackage name for the given namespace.
- *
- * @param namespace
- * @return an EPackage name for the given namespace
- */
- public static String getPackageNameFromNamespace(String namespace) {
- return org.apache.tuscany.sdo.helper.SDOXSDEcoreBuilder.getDefaultPackageName(namespace);
- }
-
- /**
- * Trim the file extension from a path.
- * @param path
- * @return
- */
- private static String trimFileExtension(String path) {
- int s=path.lastIndexOf('/');
- int d=path.lastIndexOf('.');
- if (d>s) {
- return path.substring(0,d);
- } else {
- return path;
- }
- }
-
- /**
- * Returns a namespace prefix for the given package Name.
- *
- * @param packageName
- * @return a namespace prefix for the given package Name
- */
- public static String getNSPrefixFromPackageName(String packageName) {
- int index = packageName.lastIndexOf('.');
- return index == -1 ? packageName : packageName.substring(index + 1);
- }
-
- /**
- * Parse the given name.
- *
- * @param sourceName
- * @param separator
- * @return some stuff parsed from the name
- */
- private static List<String> parseName(String sourceName, char separator) {
- List<String> result = new ArrayList<String>();
- if (sourceName != null) {
- StringBuilder currentWord = new StringBuilder(64);
- boolean lastIsLower = false;
- int index;
- int length;
- for (index = 0, length = sourceName.length(); index < length; ++index) {
- char curChar = sourceName.charAt(index);
- if (!Character.isJavaIdentifierPart(curChar)) {
- curChar = separator;
- }
- if (Character.isUpperCase(curChar)
- || (!lastIsLower && Character.isDigit(curChar))
- || curChar == separator) {
-
- if (lastIsLower && currentWord.length() > 1
- || curChar == separator && currentWord.length() > 0) {
- result.add(currentWord.toString());
- currentWord = new StringBuilder(64);
- }
- lastIsLower = false;
- } else {
- if (!lastIsLower) {
- int currentWordLength = currentWord.length();
- if (currentWordLength > 1) {
- char lastChar = currentWord.charAt(--currentWordLength);
- currentWord.setLength(currentWordLength);
- result.add(currentWord.toString());
- currentWord = new StringBuilder(64);
- currentWord.append(lastChar);
- }
- }
- lastIsLower = true;
- }
-
- if (curChar != separator) {
- currentWord.append(curChar);
- }
- }
-
- result.add(currentWord.toString());
- }
- return result;
- }
-
- /**
- * Returns a valid Java name from an XML Name.
- *
- * @param name
- * @param isUpperCase
- * @return a valid Java name from an XML Name
- */
- public static String getJavaNameFromXMLName(String name, boolean isUpperCase) {
- List<String> parsedName = parseName(name, '_');
- StringBuilder result = new StringBuilder(64 * parsedName.size());
- for (String nameComponent: parsedName) {
- if (nameComponent.length() > 0) {
- if (result.length() > 0 || isUpperCase) {
- result.append(Character.toUpperCase(nameComponent.charAt(0)));
- result.append(nameComponent.substring(1));
- } else {
- result.append(nameComponent);
- }
- }
- }
-
- if (result.length() == 0) {
- return "_";
- }
- if (Character.isJavaIdentifierStart(result.charAt(0))) {
- return isUpperCase ? result.toString() : decapitalizeName(result.toString());
- }
- return "_" + result;
- }
-
- /**
- * Returns a valid fully qualified class name from a QName.
- * @param namespace
- * @param name
- * @return a valid fully qualified class name from a QName
- */
- public static String getFullyQualifiedClassNameFromQName(String namespace, String name) {
- return XMLNameUtil.getPackageNameFromNamespace(namespace) + '.'
- + XMLNameUtil.getJavaNameFromXMLName(name, true);
- }
-
- /**
- * Decapitalize a name.
- * @param name
- * @return a decapitalized name
- */
- public static String decapitalizeName(String name) {
- if (name.length() == 0) {
- return name;
- } else {
- String lowerName = name.toLowerCase();
- int i;
- for (i = 0; i < name.length(); i++) {
- if (name.charAt(i) == lowerName.charAt(i)) {
- break;
- }
- }
- if (i > 1 && i < name.length()) {
- --i;
- }
- return name.substring(0, i).toLowerCase() + name.substring(i);
- }
- }
-
- /**
- * Capitalize a name.
- * @param name
- * @return a capitalized name
- */
- public static String capitalizeName(String name) {
- int l = name.length();
- if (l == 0) {
- return name;
- } else if (l == 1) {
- return name.toUpperCase();
- } else {
- return name.substring(0, 1).toUpperCase() + name.substring(1);
- }
- }
-
-}