Avatar billede svedendeko Nybegynder
30. maj 2001 - 22:06 Der er 3 kommentarer og
1 løsning

Public metoder på en bean

Hvordan \"spørger\" man en bean, om hvilke public metoder/properties den har ?

Fx. Jeg har fået en bean, men har ikke sourcekoden til den hvordan finder jeg så ud af hvilke metoder/properties jeg kan hente fra den ?

Det jeg leder efter er noget program kode der kan gre det Runtime.

-Den Svedende Ko
Avatar billede logical Nybegynder
30. maj 2001 - 22:15 #1
import java.lang.reflect.*;

  public class DumpMethods {
      public static void main(String args[])
      {
        try {
            Class c = Class.forName(args[0]);
            Method m[] = c.getDeclaredMethods();
            for (int i = 0; i < m.length; i++)
            System.out.println(m[i].toString());
        }
        catch (Throwable e) {
            System.err.println(e);
        }
      }
  }

Hvis du har en reference til bean, skal du bare rette ovenstående fra:
Class c = Class.forName(\"anameofbean\");
til:
class c = myBeanRef.class;

Kig iøvrigt i java.lang.reflect biblioteket.
Avatar billede logical Nybegynder
30. maj 2001 - 22:24 #2
Den her er måske god at have ved hånden:

http://java.sun.com/docs/books/tutorial/reflect/index.html
Avatar billede logical Nybegynder
30. maj 2001 - 22:29 #3
Og endelig er der (specifik for beans) følgende mulighed.

BeanInfo info = java.beans.Inspector(bean.class);
EventSetDescriptor[] events = info.getEventSetDescriptors();
PropertyDescriptor[] props = info.getPropertyDescriptors();
MethodDescriptor[] methods = info.getMethodDescriptors();

Fra en MethodDescriptor kan du få en reference til et java.lang.Method, som du så kan invoke.
Avatar billede svedendeko Nybegynder
30. maj 2001 - 22:31 #4
Tusind tak for svaret, det var bare lige i øjet !!

- Den Svedende Ko
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester