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

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


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

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

Subscriber इंटरफेस के नियम:

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

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

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

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

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

  1. Java में FocusListener इंटरफेस का महत्व क्या है? Java में FocusListener इंटरफेस का महत्व क्या है?

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