com.jproxy.proxy
Class Helper

java.lang.Object
  extended bycom.jproxy.proxy.Helper

public class Helper
extends java.lang.Object

Helper class has a number of static common methods that used by different classes in Tunneling The most of methods uses Java reflection and used during stub generation or remote call.


Field Summary
static java.util.Vector callbackInterfaces
           
static java.lang.String DEFAULT_CALLBACK_INTERFACES
           
static java.lang.String DEFAULT_NONREMOTE_CLASSES
           
static java.lang.String DEFAULT_NONREMOTE_INTERFACES
           
static java.lang.String DEFAULT_REMOTE_CLASSES
           
static java.lang.String DEFAULT_REMOTE_INTERFACES
           
static java.util.Vector nonRemoteClasses
           
static java.util.Vector nonRemoteInterfaces
           
static java.util.Vector remoteClasses
           
static java.util.Vector remoteInterfaces
           
 
Constructor Summary
Helper()
           
 
Method Summary
static java.lang.String constructor2String(java.lang.reflect.Constructor method)
           
static java.lang.String constructUrl(java.lang.String url, java.lang.String propertyUrl, java.lang.String defaultUrl)
           
static java.lang.String correctPath(java.lang.String path)
           
static java.lang.String correctPaths(java.lang.String paths)
           
static java.util.Hashtable decodeHeader(java.io.InputStream in)
          Generic helper for object deserialization from InputStream.
static void delay(long mills)
           
static java.lang.Object deserialize(byte[] bytes)
           
static java.lang.Object deserialize(byte[] bytes, java.lang.ClassLoader _loader)
           
static SerializableData deserializeObject(java.io.InputStream is, Invocator invocator)
           
static SerializableData deserializeObject(java.io.InputStream is, Invocator invocator, java.util.Hashtable header)
           
static java.lang.String encodeHeader(java.util.Hashtable header)
           
static java.lang.Object findAndReplaceCallback(java.lang.Object obj, Tunnel tunnel)
           
static boolean findClassMatch(java.lang.Class c, java.util.Vector remoteClasses)
           
static java.lang.reflect.Constructor findConstructor(java.lang.Class declaringClass, java.lang.Class[] argTypes)
           
static java.lang.Class findDeclaredException(java.lang.reflect.Constructor constr, java.lang.reflect.Method method, java.lang.Class exceptionClass)
           
static java.lang.reflect.Method findMethod(java.lang.Class declaringClass, java.lang.String name, java.lang.Class[] argTypes)
           
static java.lang.String findPattern(java.io.InputStream in, java.lang.String pattern, int maxLen, boolean keep)
           
static java.lang.Class[] findRemote(java.lang.Class resultType, boolean isCallback)
           
static java.lang.String getAllInheritanceInfo(java.lang.Class c)
           
static java.lang.Class[] getAllInterfaces(java.lang.Class cl)
           
static java.lang.Class[] getAllSuperclasses(java.lang.Class c)
           
static java.lang.String getClassInfo(java.lang.Class c, boolean showMethods, boolean showFields, boolean showTree)
           
static java.lang.String getClassName(java.lang.Class c)
          Returns the name of the given type
static java.net.URL getCodebase()
           
static java.net.URL getCodebaseMs()
           
static java.net.URL getCodebaseSun()
           
static java.lang.String getPath(java.lang.String url)
           
static java.lang.String getStackTrace(java.lang.Throwable t)
           
static boolean isAllowedClass(java.lang.Class type)
           
static void loadProxyInterfaces()
           
static java.util.Properties parseKeyValues(java.lang.String s, java.lang.String propDelim, java.lang.String keyValDelim)
           
static java.lang.String[] parseURL(java.lang.String url)
          Helper for URL parsing.
static java.lang.String[] parseValues(java.lang.String s, java.lang.String delimiters)
           
static byte[] serialize(java.lang.Object obj, Tunnel tunnel)
           
static byte[] serializeObject(SerializableData data, Invocator invocator)
          Generic helper for object serialization to byte array.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

callbackInterfaces

public static java.util.Vector callbackInterfaces

remoteInterfaces

public static java.util.Vector remoteInterfaces

nonRemoteInterfaces

public static java.util.Vector nonRemoteInterfaces

remoteClasses

public static java.util.Vector remoteClasses

nonRemoteClasses

public static java.util.Vector nonRemoteClasses

DEFAULT_REMOTE_INTERFACES

public static final java.lang.String DEFAULT_REMOTE_INTERFACES
See Also:
Constant Field Values

DEFAULT_CALLBACK_INTERFACES

public static final java.lang.String DEFAULT_CALLBACK_INTERFACES
See Also:
Constant Field Values

DEFAULT_NONREMOTE_INTERFACES

public static final java.lang.String DEFAULT_NONREMOTE_INTERFACES
See Also:
Constant Field Values

DEFAULT_REMOTE_CLASSES

public static final java.lang.String DEFAULT_REMOTE_CLASSES
See Also:
Constant Field Values

DEFAULT_NONREMOTE_CLASSES

public static final java.lang.String DEFAULT_NONREMOTE_CLASSES
See Also:
Constant Field Values
Constructor Detail

Helper

public Helper()
Method Detail

getAllInterfaces

public static java.lang.Class[] getAllInterfaces(java.lang.Class cl)

findMethod

public static java.lang.reflect.Method findMethod(java.lang.Class declaringClass,
                                                  java.lang.String name,
                                                  java.lang.Class[] argTypes)

findConstructor

public static java.lang.reflect.Constructor findConstructor(java.lang.Class declaringClass,
                                                            java.lang.Class[] argTypes)

loadProxyInterfaces

public static void loadProxyInterfaces()

isAllowedClass

public static boolean isAllowedClass(java.lang.Class type)

findRemote

public static java.lang.Class[] findRemote(java.lang.Class resultType,
                                           boolean isCallback)

findClassMatch

public static boolean findClassMatch(java.lang.Class c,
                                     java.util.Vector remoteClasses)

findAndReplaceCallback

public static java.lang.Object findAndReplaceCallback(java.lang.Object obj,
                                                      Tunnel tunnel)
                                               throws java.lang.Throwable
Throws:
java.lang.Throwable

decodeHeader

public static java.util.Hashtable decodeHeader(java.io.InputStream in)
                                        throws java.io.IOException
Generic helper for object deserialization from InputStream. Before deserializing it checks if incoming object is compressed with zip-format. If so, it decompress it.

Throws:
java.io.IOException

encodeHeader

public static java.lang.String encodeHeader(java.util.Hashtable header)

deserializeObject

public static SerializableData deserializeObject(java.io.InputStream is,
                                                 Invocator invocator)
                                          throws java.io.IOException,
                                                 java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

deserializeObject

public static SerializableData deserializeObject(java.io.InputStream is,
                                                 Invocator invocator,
                                                 java.util.Hashtable header)
                                          throws java.io.IOException,
                                                 java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

delay

public static void delay(long mills)
                  throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

serializeObject

public static byte[] serializeObject(SerializableData data,
                                     Invocator invocator)
                              throws java.io.IOException
Generic helper for object serialization to byte array. Before serializing it checks if compression required. If so, it performs compress.

Throws:
java.io.IOException

parseURL

public static java.lang.String[] parseURL(java.lang.String url)
Helper for URL parsing. The method parses URL string to String array that consist of 4 fields: 0 - "protocol", 1 - "host" 2 - "port" 3 - "path"


getPath

public static java.lang.String getPath(java.lang.String url)

constructUrl

public static java.lang.String constructUrl(java.lang.String url,
                                            java.lang.String propertyUrl,
                                            java.lang.String defaultUrl)

getClassName

public static java.lang.String getClassName(java.lang.Class c)
Returns the name of the given type


getAllSuperclasses

public static java.lang.Class[] getAllSuperclasses(java.lang.Class c)

findDeclaredException

public static java.lang.Class findDeclaredException(java.lang.reflect.Constructor constr,
                                                    java.lang.reflect.Method method,
                                                    java.lang.Class exceptionClass)

getStackTrace

public static java.lang.String getStackTrace(java.lang.Throwable t)

constructor2String

public static java.lang.String constructor2String(java.lang.reflect.Constructor method)

getCodebase

public static java.net.URL getCodebase()

getCodebaseMs

public static java.net.URL getCodebaseMs()
                                  throws java.lang.Throwable
Throws:
java.lang.Throwable

getCodebaseSun

public static java.net.URL getCodebaseSun()
                                   throws java.lang.Throwable
Throws:
java.lang.Throwable

correctPath

public static java.lang.String correctPath(java.lang.String path)

correctPaths

public static java.lang.String correctPaths(java.lang.String paths)

findPattern

public static java.lang.String findPattern(java.io.InputStream in,
                                           java.lang.String pattern,
                                           int maxLen,
                                           boolean keep)
                                    throws java.io.IOException
Throws:
java.io.IOException

parseValues

public static java.lang.String[] parseValues(java.lang.String s,
                                             java.lang.String delimiters)

parseKeyValues

public static java.util.Properties parseKeyValues(java.lang.String s,
                                                  java.lang.String propDelim,
                                                  java.lang.String keyValDelim)

serialize

public static byte[] serialize(java.lang.Object obj,
                               Tunnel tunnel)
                        throws java.io.IOException
Throws:
java.io.IOException

deserialize

public static java.lang.Object deserialize(byte[] bytes,
                                           java.lang.ClassLoader _loader)
                                    throws java.io.IOException
Throws:
java.io.IOException

deserialize

public static java.lang.Object deserialize(byte[] bytes)
                                    throws java.io.IOException
Throws:
java.io.IOException

getClassInfo

public static java.lang.String getClassInfo(java.lang.Class c,
                                            boolean showMethods,
                                            boolean showFields,
                                            boolean showTree)

getAllInheritanceInfo

public static java.lang.String getAllInheritanceInfo(java.lang.Class c)


Copyright © JProxy LLC. All Rights Reserved.