----- Original Message -----
From: "gaurav shankar" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, April 02, 2003 4:41 AM
Subject: Re: class to JavaClass file
> Hi,
> This is a part of my ClassLoader , at the end of this section I have
result
> ( an instance of Class ) which gets bytecode of system classes, I want to
> convert this into JavaClass. "object" in your example is an instance of
> Class or shall I say object and result of same type ..
>
>
> public synchronized Class loadClass(String className, boolean resolveIt)
> throws ClassNotFoundException {
> Class result;
> byte classData[];
> JavaClass java_class;
>
> System.out.println(" >>>>>> Load class : "+className);
>
> /* Check our local cache of classes */
> result = (Class)classes.get(className);
> if (result != null) {
> System.out.println(" >>>>>> returning cached result.");
> return result;
> }
>
> /* Check with the primordial class loader */
> try {
> // result = super.findSystemClass(className);
//find class file as "SystemResource" and parse it:
InputStream is =
ClassLoader.getSystemResourceAsStream(className.replace('.','/') +
".class");
JavaClass jcls = new ClassParser(is,className).parse();
> // >> I WANT TO CONVERT THIS result TO JavaClass <<<<
byte bytes[]= jcls.getBytes();
return defineClass(bytes,0,bytes.length);
//possible it will work for system clsses, I have never tried it.
//you will have two class versions, one in "bootstrap" classloder and one in
your classloder.
//JNI and JVM hooks are designed for this use case.
>
> } catch (ClassNotFoundException e) {
> System.out.println(" >>>>>> Not a system class.");
> }
>
>
>
> Thanks for your help , I really appreciate it
>
> Regards
> Gaurav Shankar
>
>
>
>
>
> >From: "Juozas Baliuka" <[EMAIL PROTECTED]>
> >Reply-To: "BCEL Users List" <[EMAIL PROTECTED]>
> >To: "BCEL Users List" <[EMAIL PROTECTED]>
> >Subject: Re: class to JavaClass file
> >Date: Tue, 1 Apr 2003 08:11:26 +0200
> >
> >
> >You can load class file as resource with system classloader, but you can
> >not
> >to define it twice in the same classloader:
> >
> > JavaClass jclass = new
>
>ClassParser(Object.class.getResource(Object.class.getName().replace('.','/'
)
> >+ ".class")),Object.class.getName());
> >
> >
> > > What I am trying to do is change in constant pool of every class my
> > > application loads (not all but that also includes some library
classes )
> >for
> > > that im trying to change instance of Class that findSystemClass()
> >returns
> > > into that of JavaClass so that I can change in the constant pool and
> >then
> > > use defineClass on it. ClassParser converts DataInputStream into
> >JavaClass,
> > > how can I make it to change Class into JavaClass.
> > >
> > > Thanks
> > > Gaurav Shankar
> > > CS Deptt , Rutgers University
> > >
> > >
> > >
> > >
> > >
> > >
> > > >From: "Juozas Baliuka" <[EMAIL PROTECTED]>
> > > >Reply-To: "BCEL Users List" <[EMAIL PROTECTED]>
> > > >To: "BCEL Users List" <[EMAIL PROTECTED]>
> > > >Subject: Re: class to JavaClass file
> > > >Date: Mon, 31 Mar 2003 17:25:44 +0200
> > > >
> > > >
> > > >Sometimes it can work on system classes too,
> > > >classloader can not define system class, but you can try depricated
> > > >"defineClass(byte[] b, int pos, int len)" method, I am not sure this
> >will
> > > >work for classes like Object or String,
> > > >and it is no way to define classes for arrays.
> > > >
> > > >
> > > > > Hi,
> > > > > Im trying my class loader with BCEL, Im looking Constant pool of
> >each
> > > >class
> > > > > used by my application, even system classes, for that I need to
> >convert
> > > > > class file ( which I get as result of findSystemClass() ) and
> >convert
> >it
> > > >to
> > > > > JavaClass file.
> > > > >
> > > > >
> > > > > regards
> > > > >
> > > > > Gaurav Shankar
> > > > >
> > > > > _________________________________________________________________
> > > > >
> > > > >
> > > > >
> > > > >
> >---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > >
> > > >
> > > >---------------------------------------------------------------------
> > > >To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > >For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > >
> > >
> > > _________________________________________________________________
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>
> _________________________________________________________________
> Vrroooom?? Fasten your seatbelts.
> http://server1.msn.co.in/msnSpecials/formula2003/index.asp Get set for F1
> 2003
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]