क्या एक अलग पुस्तकालय में स्थित कक्षा के क्लैस्स्टइप को प्राप्त करना संभव है?

मेरे पास जावा लाइब्रेरी है, जो कक्षा में बहुत सारी कार्यक्षमता जोड़ती है। Lib को .jar फ़ाइल में पैक किया गया है और क्लास ए (पैकेज एजर) में कार्यक्षमता लागू की गई है (जेनेरिक)

आवेदन पत्र में पैकेज a.jar शामिल है और इसमें कक्षा बी शामिल है जो ए से प्राप्त होता है:

LIB A: 
class A { 
    public instanciate(String json){ ... } 
    private addToList(){ ....}
    public XY()...
}

अब व्युत्पन्न पुस्तकालय में:

LIB B uses A:
class B extends A {..}

SomeClass{
    new B.XY();
}

अब मुझे पुस्तकालय a.jar के भीतर कक्षा बी को जानना है। (रनटाइम के दौरान)

मैं कल्पना कर सकता हूं कि लाइब्रेरी (या कक्षा) को नोटिस करना चाहिए कि जब कोई अन्य लाइब्रेरी (या कक्षा) इसका उपयोग करती है (कम से कम रनटाइम के दौरान) ..

किसी भी मदद की सराहना की है ...

0
यह समझना काफी मुश्किल है कि आप क्या पूछ रहे हैं। क्या आप अधिक जानकारी प्रदान कर सकते हैं? विशेष रूप से, क्या आप समझा सकते हैं कि आपको क्या करना है और क्यों।
जोड़ा लेखक sanity, स्रोत
@GyroGearless: a.jar जेसन से बाहर उदाहरण बनाता है। इसलिए कक्षाओं के बारे में जानना महत्वपूर्ण है। अब तक कक्षा बी ढांचे में पंजीकृत होना चाहिए लेकिन यह मेरी आंखों में एक अच्छा समाधान नहीं है। ए को विस्तारित करते समय बी के बारे में क्यों नहीं पता होना चाहिए? मुझे लगता है कि ए को अभिभावक के रूप में सूचित किया जाता है, जब बच्चा बी "जन्म" होता है :)
जोड़ा लेखक elCapitano, स्रोत
"ए" को "बी" के बारे में कुछ भी क्यों पता होना चाहिए? उस समय ए लागू किया गया है, आपको बी पर भी विचार नहीं हो सकता है।
जोड़ा लेखक Gyro Gearless, स्रोत

1 उत्तर

मुझे नहीं लगता कि ऐसा करने का कोई आसान तरीका है। आपको भारित कक्षाओं के माध्यम से लूप करना होगा और प्रत्येक को जांचना होगा। यह और this

0
जोड़ा
काफी ठीक लगता है लेकिन अभी भी एक अस्थायी समाधान के रूप में। मुझे लगता है कि यह धीमा है। क्या रनटाइम पर्यावरण के पास "व्युत्पन्न" या कम से कम "instanciating" सुनने के लिए कोई हुक है?
जोड़ा लेखक elCapitano, स्रोत
ऐसा नहीं कि मुझे पता नहीं। मैं उत्साह के साथ अपने प्रश्न का पालन कर रहा हूं यह देखने के लिए कि कोई बेहतर समाधान पोस्ट करता है :)
जोड़ा लेखक atripathi, स्रोत