|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.nuiton.topia.service.servers.RemoteClassLoader
public class RemoteClassLoader
RMIRemoteHelper.java Creer une nouvelle classe en transformant la classe passee en parametre. Ajoute une interface "Remote" Ajoute des exception a toutes les methodes "RemoteException" Utilise les API asm.
Remote,
RemoteException| Field Summary | |
|---|---|
protected org.objectweb.asm.ClassWriter |
cWriter
Le writer (global necessaire parce que parcourt par patron visiteur) |
static java.lang.String |
EXTENSION
Ajout au nom de classe |
| Constructor Summary | |
|---|---|
protected |
RemoteClassLoader()
Constructeur |
| Method Summary | |
|---|---|
static java.lang.String |
getOriginClassName(java.lang.Class clazz)
Retourne le nom d'origine sans l'ajout |
static java.lang.Class<?> |
getRemoteClass(java.lang.Class clazz)
Retourne la classe version "remote" de celle specifiee |
protected void |
saveInFile(java.net.URL originClazzPath,
byte[] clazzBytes)
Genere la classe dans son fichier phisyque /home/chatellier/tmp/toto.java file:/home/chatellier/tmp/toto.class |
protected void |
saveInJarFile(java.net.URL originClazzPath,
byte[] clazzBytes)
Sauve le fichier dans un jar. |
protected void |
saveOnDisk(java.lang.Class clazz,
byte[] clazzBytes)
Sauve la classe generee sur le disque. |
void |
visit(int version,
int access,
java.lang.String name,
java.lang.String superName,
java.lang.String[] interfaces,
java.lang.String sourceFile)
|
void |
visitAttribute(org.objectweb.asm.Attribute attr)
|
void |
visitEnd()
|
void |
visitField(int access,
java.lang.String name,
java.lang.String desc,
java.lang.Object value,
org.objectweb.asm.Attribute attrs)
|
void |
visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)
|
org.objectweb.asm.CodeVisitor |
visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String[] exceptions,
org.objectweb.asm.Attribute attrs)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String EXTENSION
protected org.objectweb.asm.ClassWriter cWriter
| Constructor Detail |
|---|
protected RemoteClassLoader()
| Method Detail |
|---|
public void visit(int version,
int access,
java.lang.String name,
java.lang.String superName,
java.lang.String[] interfaces,
java.lang.String sourceFile)
visit in interface org.objectweb.asm.ClassVisitorpublic void visitAttribute(org.objectweb.asm.Attribute attr)
visitAttribute in interface org.objectweb.asm.ClassVisitorpublic void visitEnd()
visitEnd in interface org.objectweb.asm.ClassVisitor
public void visitField(int access,
java.lang.String name,
java.lang.String desc,
java.lang.Object value,
org.objectweb.asm.Attribute attrs)
visitField in interface org.objectweb.asm.ClassVisitor
public void visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)
visitInnerClass in interface org.objectweb.asm.ClassVisitor
public org.objectweb.asm.CodeVisitor visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String[] exceptions,
org.objectweb.asm.Attribute attrs)
visitMethod in interface org.objectweb.asm.ClassVisitorpublic static java.lang.String getOriginClassName(java.lang.Class clazz)
clazz - la classe remote
public static java.lang.Class<?> getRemoteClass(java.lang.Class clazz)
throws java.lang.ClassNotFoundException
clazz - la classe non remote
java.lang.ClassNotFoundException - si on ne peut pas genere la classe
protected void saveOnDisk(java.lang.Class clazz,
byte[] clazzBytes)
throws java.io.IOException
clazz - La class d'origineclazzBytes - La classe generee
java.io.IOException
protected void saveInJarFile(java.net.URL originClazzPath,
byte[] clazzBytes)
throws java.io.IOException
originClazzPath - clazzBytes -
java.io.IOException - si erreur d'ecriture
protected void saveInFile(java.net.URL originClazzPath,
byte[] clazzBytes)
throws java.io.IOException
originClazzPath - l'url d'origineclazzBytes - les donnees de la classe
java.io.IOException - si erreur d'ecriture
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||