2013-02-21 13 views
5

को कक्षा [_] कन्वर्ट मैं एक पैकेज से सभी वर्गों की सूची और नए प्रतिबिंब एपीआई (2.10) के माध्यम से कुछ मेटाडेटा जानकारी निकालने के लिए कोशिश कर रहा हूँ।universe.Type/प्रतीक

मैं गलत हो सकता है, लेकिन लगता है स्केला एपीआई पर एक पैकेज से सूची वर्गों के लिए कोई समर्थन नहीं है।

मैं एक java library उपयोग कर रहा हूँ, लेकिन यह रिटर्न केवल Class<?>

यह एक Class[_]universe.Type या universe.Symbol में बदलने के लिए संभव है?

उत्तर

10

आप की scala.reflect.runtime.universe (JavaUniverse)

दर्पण का उपयोग shoud मान लीजिए आप एक क्रम वर्ग: अपने classloader के लिए

val cls: Class[_] = someObject.getClass 

आप मिलना चाहिए runtimeMmirror (JavaMirror) और उसके classSymbol विधि है, जो क्रम धर्मान्तरित फोन इस ब्रह्मांड के लिए ClassSymbol के वर्ग:

import scala.reflect.runtime._ 

val typ: universe.ClassSymbol = universe.runtimeMirror(cls.getClassLoader).classSymbol(cls) 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^