Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java')
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java159
1 files changed, 0 insertions, 159 deletions
diff --git a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java b/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java
deleted file mode 100644
index c42afee48..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyCommon/org/eclipse/jem/internal/proxy/common/MapTypes.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
-
-
- */
-package org.eclipse.jem.internal.proxy.common;
-
-import java.util.HashMap;
-
-
-/**
- * This is used for mapping between JNI format and non-JNI format. It also has the
- * maps for primitives.
- * @since 1.0.0
- */
-public class MapTypes {
-
- public final static HashMap MAP_SHORTSIG_TO_TYPE = new HashMap(8);
- public final static HashMap MAP_TYPENAME_TO_SHORTSIG = new HashMap(8);
- static {
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("B", Byte.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("C", Character.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("D", Double.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("F", Float.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("I", Integer.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("J", Long.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("S", Short.TYPE); //$NON-NLS-1$
- MapTypes.MAP_SHORTSIG_TO_TYPE.put("Z", Boolean.TYPE); //$NON-NLS-1$
-
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("byte","B"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("char","C"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("double","D"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("float","F"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("int","I"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("long","J"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("short","S"); //$NON-NLS-1$ //$NON-NLS-2$
- MapTypes.MAP_TYPENAME_TO_SHORTSIG.put("boolean","Z"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
-
-
- /**
- * Convert formal type name for an array (i.e. java.lang.Object[]
- * to the jni format (i.e. [Ljava.lang.Object;)
- * This is used when a name is passed in from the IDE side.
- * The VM side uses the jni format, and all of proxy uses the jni format.
- *
- * @param classname
- * @return string jni form of name.
- *
- * @since 1.0.0
- */
- public static String getJNIFormatName(String classname) {
- if (classname.length() == 0 || !classname.endsWith("]")) //$NON-NLS-1$
- return classname; // Not an array,or invalid
-
- StringBuffer jni = new StringBuffer(classname.length());
- int firstOpenBracket = classname.indexOf('[');
- int ob = firstOpenBracket;
- while (ob > -1) {
- int cb = classname.indexOf(']', ob);
- if (cb == -1)
- break;
- jni.append('[');
- ob = classname.indexOf('[', cb);
- }
-
- String finalType = classname.substring(0, firstOpenBracket).trim();
- if (finalType != null) {
- String shortSig = (String) MapTypes.MAP_TYPENAME_TO_SHORTSIG.get(finalType);
- if (shortSig == null) {
- jni.append('L');
- jni.append(finalType);
- jni.append(';');
- } else {
- jni.append(shortSig);
- }
- }
-
- return jni.toString();
- }
-
- /**
- * This converts from the JNI format to the formal typename.
- *
- * @param jniName
- * @return formal typename
- *
- * @since 1.1.0
- */
- public static String getFormalTypeName(String jniName) {
- if (jniName.charAt(0) == '[') {
- // It is an array
- int dims = jniName.lastIndexOf('[')+1; // Number of dimensions
- int startType = dims;
- StringBuffer fName = new StringBuffer(jniName.length()+(2*dims));
- if (jniName.charAt(startType) == 'L')
- fName.append(jniName.substring(startType+1, jniName.length()-1)); // For "[Ljava.lang.String;" return "java.lang.String"
- else if (jniName.length() == startType+1) {
- // Possible primitive
- Class type = (Class) MAP_SHORTSIG_TO_TYPE.get(jniName.substring(startType, startType+1));
- if (type != null) {
- fName.append(type.getName());
- } else
- return ""; // Invalid if no 'L' and not a primitive. //$NON-NLS-1$
- } else
- return ""; // Invalid, must be either a primitive or 'L' type. //$NON-NLS-1$
- while(dims-- > 0) {
- fName.append("[]"); //$NON-NLS-1$
- }
- return fName.toString();
- } else if (jniName.length() == 1) {
- // Possible primitive.
- Class type = (Class) MAP_SHORTSIG_TO_TYPE.get(jniName);
- if (type != null) {
- return type.getName();
- }
- }
-
- // If got here then just a name as is.
- return jniName;
- }
-
- /**
- * Convert the formal type name, with the given number of dimensions,
- * to an array JNI type.
- * @param finalComponent final component name, should not be an array type.
- * @param dimensions number of dimensions for the array.
- * @return
- *
- * @since 1.1.0
- */
- public static String getJNITypeName(String finalComponent, int dimensions) {
- StringBuffer jni = new StringBuffer(finalComponent.length()+dimensions+2);
- while (dimensions-- > 0) {
- jni.append('[');
- }
-
- String shortSig = (String) MapTypes.MAP_TYPENAME_TO_SHORTSIG.get(finalComponent);
- if (shortSig == null) {
- jni.append('L');
- jni.append(finalComponent);
- jni.append(';');
- } else {
- jni.append(shortSig);
- }
-
- return jni.toString();
- }
-}

Back to the top