Re: get a list of classes at runtime

Posted by e d p... on 13. May 2015

On Wednesday, May 13, 2015 at 10:07:19 AM UTC-4, Eric Sosman wrote:




On 5/13/2015 8:47 AM, Philipp Kraus wrote:




Hello,



I would like to get a list of all loadable classes, because I create an
UI which should be list on the user input, which classes are existst
e.g. the user types ABC and I will get the full class name with
packages, e.g. package1.subpackage.ABC and package2.ABC
=20
"All loadable classes" is a potentially infinite set, since a class
loader might look almost anywhere to find a class -- it might even
synthesize a class by filling a byte[] array with bytecodes and then
loading it. But perhaps your goal is not quite so ambitious ...
=20
I have taken a look into https://github.com/ronmamo/reflections but I
don't find a call to filter all class names. How I can get the full
class name list during runtime (all my classes are stored within a Jar
file and the search should be also add the Java base classes e.g. Strin=
g)
=20
AFAIK, the JVM has no record of potentially loadable classes that
have not been loaded (there are probably some special-case exceptions
like String and Class and Throwable, but they'll all have been loaded
well before your code runs). If I'm right, it means the only way you
can find the not-yet-loaded classes is to rummage through the JAR's (or
other sources) for yourself. You presumably know where to find your
own JAR's and things; I believe all "base classes" reside in rt.jar.
I don't know of a convenient way to find "the" rt.jar that your JVM
happens to be using; the best I can think of is to read the java.home
System property and search from there. (Or from sun.boot.class.path,
but I'm not certain that's a property all JVM's will define.)
=20
Anyhow: Once you've found the JAR's, you'll read their directories,
do a little reformatting, and filter as you please.
=20
--=20
[email protected]
"Don't be afraid of work. Make work afraid of you." -- TLM





To find the rt.jar your IDE would just have to specify where the rt.jar is.
Normally to build a project in Eclipse you add "JRE System Library" to the =
build path. You'll see that as a folder in the Package Explorer. You can =
expand that folder. I don't know if Oracle/Sun publishes a list of which j=
ars to include or where they get it but my Eclipse project using Java 8 upd=
ate 40 has 18 jars listed there.


28. May 2015: Why do we need to "@Override Object clone" if all classes are subclasses of Object, why can not directly involke the functin? by pigeo...

26. May 2015: Re: Recommendation for a good Android programming book? by Marti...

26. May 2015: Re: Recommendation for a good Android programming book? by Marti...

26. May 2015: Re: Java DatePicker popup calendar by Nigel...

26. May 2015: Re: Recommendation for a good Android programming book? by Eric ...

26. May 2015: Re: Recommendation for a good Android programming book? by Joerg...

26. May 2015: Re: Recommendation for a good Android programming book? by Marti...

26. May 2015: Re: Java DatePicker popup calendar by e d p...

26. May 2015: Re: Recommendation for a good Android programming book? by Knute...

25. May 2015: Re: Recommendation for a good Android programming book? by Knute...

24. May 2015: Re: How to read the Java tutorial offline? by David...

23. May 2015: SQLite database by Ram V...

23. May 2015: Java DatePicker popup calendar by Danie...

23. May 2015: Human Rights and Justice in Islam by bv4bv...

22. May 2015: Re: Can we convert a Java ResultSet/SqlRowSet from Database query directly to JSON array without Mapping it to a List<Type>? by Arne ...

22. May 2015: Re: Recommendation for a good Android programming book? by e d p...

22. May 2015: Can we convert a Java ResultSet/SqlRowSet from Database query directly to JSON array without Mapping it to a List<Type>? by kaush...

21. May 2015: Re: Recommendation for a good Android programming book? by ram a...

21. May 2015: Re: Recommendation for a good Android programming book? by Arne ...

20. May 2015: Java and C# and Threadpool by Ramin...

20. May 2015: Re: JScrollPane not scrolling smoothly on fast computer by Jim H...

20. May 2015: Recommendation for a good Android programming book? by Knute...

20. May 2015: Re: JScrollPane not scrolling smoothly on fast computer by Knute...

18. May 2015: Re: Main Loop porblm by Silvi...

18. May 2015: Re: Main Loop porblm by Eric ...

18. May 2015: Re: Main Loop porblm by Micha...

18. May 2015: Main Loop porblm by Micha...

18. May 2015: Re: Puzzler: Fun with Streams. by scatt...

18. May 2015: Re: Puzzler: Fun with Streams. by scatt...

17. May 2015: Re: get a list of classes at runtime by Arne ...

17. May 2015: Re: get a list of classes at runtime by Arne ...

16. May 2015: C*C*C: CIUCCIA CAZZI DI CAVALLO PAOLO BARRAI DI WMO E BSI ITALIA SRL, UNA VOLTA CACCIATO (E FATTO CONDANNARE A GALERA) DA CITIBANK, PRIMA DI SPENNARE POLLI VIA WEB, FECE FILM PEDOPORNOMOSESSUALI! E CON CAVALLI! CIUCCIANDO E PRENDENDO FALLI EQUINI E.. by CARME...

15. May 2015: Need Oracle DBA Resumes for the position in Chicago,IL by srini...

14. May 2015: About Java... by Ramin...

14. May 2015: Re: JNI Wrapper for Delphi and FreePascal version 2.82 is here.. by Ramin...

14. May 2015: JNI Wrapper for Delphi and FreePascal version 2.82 is here.. by Ramin...

14. May 2015: Re: [Javascript] Uncaught ReferenceError: Invalid left-hand side in assignment by ram a...

14. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Rober...

13. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Jeff ...

13. May 2015: Re: get a list of classes at runtime by Marti...

13. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Jeff ...

13. May 2015: Re: get a list of classes at runtime by Joshu...

13. May 2015: Re: [Javascript] Uncaught ReferenceError: Invalid left-hand side in assignment by Joshu...

13. May 2015: [Javascript] Uncaught ReferenceError: Invalid left-hand side in assignment by garlo...

13. May 2015: [Javascript] How do I find out what this bug means and how to fix it? Uncaught ReferenceError: Invalid left-hand side in assignment by garlo...

13. May 2015: Re: get a list of classes at runtime by j4n b...

13. May 2015: Re: get a list of classes at runtime by Joerg...

13. May 2015: Re: get a list of classes at runtime by Phili...

13. May 2015: Re: get a list of classes at runtime by Eric ...

13. May 2015: Re: Puzzler: Fun with Streams. by Danie...

13. May 2015: Re: get a list of classes at runtime by Eric ...

13. May 2015: Re: How to programatically limit the number of threads in a java by Joerg...

13. May 2015: Re: get a list of classes at runtime by e d p...

13. May 2015: Re: Puzzler: Fun with Streams. by Jeff ...

13. May 2015: Call for Papers: World Congress on Engineering and Computer Science WCECS 2015 by iaeng...

12. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Jeff ...

12. May 2015: Re: How to programatically limit the number of threads in a java by Marce...

12. May 2015: Re: JScrollPane not scrolling smoothly on fast computer by Knute...

12. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Jeff ...

12. May 2015: Puzzler: Fun with Streams. by Danie...

12. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Rober...

12. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by ram a...

12. May 2015: Re: Use URL for HTTPS request using Proxy by Silvi...

12. May 2015: Use URL for HTTPS request using Proxy by Silvi...

12. May 2015: Re: what are the senarios when we should override equals and hashcode by Lew l...

12. May 2015: JNI Wrapper for Delphi and FreePascal version 2.8 by Ramin...

12. May 2015: Re: How to programatically limit the number of threads in a java by Eric ...

12. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Ajay ...

12. May 2015: How to programatically limit the number of threads in a java by Ajay ...

12. May 2015: Re: API vc MVC by Joerg...

12. May 2015: Need Java Developers/Tech Leads/Architects at Reston, VA (Permanent) by ashok...

11. May 2015: API vc MVC by Leona...

11. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by Eric ...

11. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by Gene ...

11. May 2015: Re: JScrollPane not scrolling smoothly on fast computer by e d p...

11. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by v_bor...

10. May 2015: Re: Animations with jTextPane by Knute...

10. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Joerg...

10. May 2015: Re: Animations with jTextPane by H L a...

10. May 2015: Re: Animations with jTextPane by Knute...

10. May 2015: Re: Animations with jTextPane by Knute...

10. May 2015: Re: Animations with jTextPane by H L a...

10. May 2015: Re: Animations with jTextPane by Knute...

10. May 2015: Re: how does a marker interface give specific instruction to jvm(java internals) by Jeff ...

10. May 2015: how does a marker interface give specific instruction to jvm(java internals) by Ajay ...

10. May 2015: Animations with jTextPane by H L a...

09. May 2015: JScrollPane not scrolling smoothly on fast computer by Knute...

09. May 2015: PEZZO DI MERDA BASTARDO DAVIDE SERRA DI ALGEBRIS INVESTMENTS - TWITTER, HA RICEVUTO INSIDER SULLE POPOLARI DAL MEGALAVA SOLDI MAFIOSI PIER LUIGI BOSCHI DI BANCA ETRURIA! SON TUTTI NAZISTI, TIPO NOTO VERME PAOLO BARRAI DI WMO, CHE SI FINGON DEL PD X.. by CARME...

09. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by Eric ...

08. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by ram a...

08. May 2015: How to read the Java tutorial offline? by ram a...

08. May 2015: Re: best and worst sorting algorithm for 1 to 10,000 and then 10,000 + elements by Marti...

08. May 2015: Re: How to read the Java tutorial offline? by Jeff ...

06. May 2015: Re: Why Islam is the true religion of God. by Danci...

06. May 2015: CCC: CIUCCIA CAZZI DI CAVALLO PAOLO BARRAI DI CRIMINALI WMO E BSI ITALIA SRL, UNA VOLTA CACCIATO (E FATTO CONDANNARE AL CARCERE) DA CITIBANK, PRIMA DI SPENNARE POLLI NEL WEB, FECE FILM PEDOPORNOMOSESSUALI! E CON CAVALLI! CIUCCIANDO CAZZI EQUINI E ... by CHE S...

05. May 2015: Why Islam is the true religion of God. by BV BV...

04. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by Marce...

04. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by Eric ...

04. May 2015: Re: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by Eric ...

04. May 2015: best and worst sorting algorithm for 1 to 10, 000 and then 10, 000 + elements by Ajay ...