2011-06-15 8 views
10

मैं अपाचे कॉमन्स नेट लाइब्रेरी में अपाचे की एफ़टीपी क्लाइंट क्लास के साथ काम कर रहा हूं। अफसोस की बात यह है कि यह अधिकांश कार्यक्षमताओं के लिए एक इंटरफ़ेस लागू नहीं करता है जो परीक्षण कक्षाओं को बनाता है जो इसे मुश्किल बनाते हैं। इसलिए, मैंने सोचा कि मैं अपनी खुद की कक्षा बनाउंगा जो इसे लपेटता है और एक इंटरफ़ेस लागू करता है। वैसे भी वह पृष्ठभूमि है। मेरा सवाल यह है कि क्या एक्लिप्स में इंटरफेस उत्पन्न करना संभव है (रिफैक्टर-> इंटरफेस निकालें) लेकिन तीसरे पक्ष कोड के लिए जार फ़ाइल में बैठा है?क्या ग्रहण तृतीय पक्ष लाइब्रेरी कक्षा का इंटरफ़ेस स्वतः उत्पन्न कर सकता है?

बस स्पष्ट करने के लिए, मैं अब नए इंटरफ़ेस को लागू करने के लिए एफ़टीपी क्लाइंट की तलाश नहीं कर रहा हूं, लेकिन एक इंटरफेस बनाने के लिए जो एक ही सार्वजनिक एपीआई को एफ़टीपी क्लाइंट के रूप में नकल करता है। मैं फिर अपनी खुद की कक्षा बना सकता हूं जो इस इंटरफ़ेस को लागू करता है और एफ़टीपी क्लाइंट को रैपर करता है।

+2

आप एक मॉकिंग फ्रेमवर्क भी आज़मा सकते हैं जो कक्षा 3 से सीधे EasyMock की तरह कक्षाओं से निपट सकता है। – Waldheinz

उत्तर

18

एचएम। , - "> जनरेट प्रतिनिधि के तरीके स्रोत" अंतर्निहित मूल वस्तु के लिए कॉल सौंपने के रूप में मैं उन्हें जरूरत के साथ खाली वर्ग को आबाद करने क्यों एक खाली वर्ग के साथ फिर से शुरू नहीं,

class MyWrapper { 

    private Referent client; 
} 

की तरह, मुझे क्या करना चाहते हैं। उस वर्ग से, अब आप "रिफैक्टर -> इंटरफ़ेस निकालें" ... जैसा कि आपको उत्पादन के लिए रैपर की आवश्यकता है, वैसे भी यह दोनों समस्याओं (रैपर पीढ़ी + इंटरफ़ेस पीढ़ी) को एक बार में हल करेगा।

+0

उत्कृष्ट उत्तर। धन्यवाद! –

+0

ग्रहण भयानक है! पारितोषिक के लिए धन्यवाद। –

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