Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा 9 में सब्सक्राइबर इंटरफेस के लिए क्या नियम हैं?


सदस्य इंटरफ़ेस onNext() . के माध्यम से आइटम प्राप्त करने के लिए प्रकाशकों की सदस्यता लेता है विधि, त्रुटि संदेश onError . के माध्यम से () विधि, या एक संकेत है कि onComplete() . के माध्यम से और कोई आइटम अपेक्षित नहीं है तरीका। इनमें से कुछ भी होने से पहले, प्रकाशक ऑनसब्सक्रिप्शन () . को कॉल करता है विधि।

public interface Subscriber<T> {
   public void onSubscribe(Subscription s);
   public void onNext(T t);
   public void onError(Throwable t);
   public void onComplete();
}

सदस्य इंटरफ़ेस के नियम:

  • एक सदस्य Subscription.request(long n) . के माध्यम से कॉल करना होगा onNext() receive प्राप्त करने की विधि संकेत।
  • Subcriber.onComplete() और Subcriber.onError(Throwable t) विधियों को सदस्यता या प्रकाशक पर किसी भी तरीके को कॉल नहीं करना चाहिए।
  • Subcriber.onComplete() और Subcriber.onError(Throwable t) विधियों को संकेत मिलने के बाद सदस्यता रद्द करने पर विचार करना चाहिए।
  • एक सब्सक्राइबर को कॉल करना चाहिए Subscription.cancel() ऑनसब्सक्राइब () . के बाद किसी दिए गए सब्सक्रिप्शन पर विधि संकेत अगर उसके पास पहले से ही एक सक्रिय सदस्यता है।
  • एक सब्सक्राइबर को Subscription.cancel() call पर कॉल करना चाहिए विधि अगर सदस्यता की अब आवश्यकता नहीं है।
  • एक सब्सक्राइबर यह सुनिश्चित करता है कि उसके सब्सक्रिप्शन के अनुरोध पर सभी कॉल और रद्द करने के तरीके क्रमिक रूप से निष्पादित किए जाएं।
  • एक सब्सक्राइबर को एक या अधिक अगले पर () . प्राप्त करना होगा Subscription.cancel() . को कॉल करने के बाद सिग्नल विधि यदि अभी भी अनुरोधित तत्व लंबित हैं। यह विधि अंतर्निहित सफाई कार्यों को तुरंत करने की गारंटी नहीं देती है।
  • एक सब्सक्राइबर को पूर्ण () पर प्राप्त होना चाहिए पिछले Subscription.request(long n) . के साथ या उसके बिना संकेत कॉल करें।
  • एक सब्सक्राइबर को एक ऑनएरर () प्राप्त होना चाहिए पिछले Subscription.request(long n) . के साथ या उसके बिना संकेत कॉल करें।
  • एक सब्सक्राइबर यह सुनिश्चित करता है कि उसके सिग्नल विधियों पर सभी कॉल संबंधित सिग्नल के प्रसंस्करण से पहले हो। इसका मतलब है कि सब्सक्राइबर को अपने प्रोसेसिंग लॉजिक के लिए सिग्नल को ठीक से प्रकाशित करने का ध्यान रखना चाहिए।
  • Subcriber.onSubscribe() किसी दिए गए सब्सक्राइबर के लिए अधिक से अधिक एक बार कॉल करना चाहिए।
  • कॉलिंग ऑनसब्सक्राइब () , अगले पर () , ऑन एरर () या पूर्ण होने पर () विधियों को वापस आना चाहिए, सिवाय इसके कि जब कोई प्रदान किया गया पैरामीटर शून्य हो, तो उस स्थिति में उसे NullPointerException फेंकना होगा। फोन करने वाले को।

  1. जावा 9 में @Deprecated एनोटेशन के लिए क्या सुधार हैं?

    कोई भी तत्व जिसे @Deprecated से एनोटेट किया जा सकता है यह दर्शाता है कि इस विशेष तत्व का अब निम्न कारणों से उपयोग नहीं किया जाएगा इसका उपयोग करना जोखिम भरा है और इससे त्रुटियां हो सकती हैं। भविष्य के संस्करणों में असंगत हो सकता है। भविष्य के संस्करणों में हटाया जा सकता है। एक बेहतर और अधिक कुशल समा

  1. जावा में मेथड ओवरराइडिंग के संबंध में एक्सेप्शन हैंडलिंग के नियम क्या हैं?

    जबकि एक सुपरक्लास विधि इसे ओवरराइड करते समय एक अपवाद फेंकती है, आपको कुछ नियमों का पालन करने की आवश्यकता होती है। समान अपवाद या उप प्रकार फेंकना चाहिए यदि सुपर-क्लास विधि कुछ अपवाद फेंकती है, तो उप-वर्ग में विधि को उसी अपवाद या उसके उप प्रकार को फेंकना चाहिए। उदाहरण निम्नलिखित उदाहरण में, सुपर-क्ल

  1. जावा में फोकस लिस्टनर इंटरफेस का क्या महत्व है?

    FocusListener फोकस ईवेंट तब उत्पन्न होते हैं जब कोई घटक कीबोर्ड फोकस प्राप्त करता है या खो देता है । फोकस ईवेंट को दर्शाने वाले ऑब्जेक्ट FocusEvent . से बनाए गए हैं कक्षा। FocusEvent . के लिए संगत श्रोता इंटरफ़ेस क्लास एक FocusListener . है इंटरफेस। FocusEvent . के लिए प्रत्येक श्रोता FocusList