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

Java 9 में Flow.Publisher इंटरफ़ेस को कैसे कार्यान्वित करें?


एक प्रकाशक इंटरफ़ेस अनुक्रमित तत्वों की एक असीमित संख्या का प्रदाता है, जो उन्हें अपने ग्राहक (सदस्यों) से प्राप्त मांग के अनुसार प्रकाशित करता है। . कॉल के जवाब में Publisher.subscribe(Subscriber) , सदस्य . पर विधियों के लिए संभावित आमंत्रण अनुक्रम . इसका मतलब है कि ऑनसब्सक्राइब () विधि, उसके बाद onNext() . की असीमित संख्या विधियाँ (जैसा कि सदस्य द्वारा अनुरोध किया गया है ) उसके बाद ऑनएरर () विधि, यदि कोई विफलता है या कोई पूर्ण() . है विधि जब सदस्यता . तक कोई और तत्व उपलब्ध नहीं है रद्द नहीं किया गया है।

सिंटैक्स

public interface Publisher<T> {
   public void subscribe(Subscriber<? super T> s);
}

उदाहरण

import java.util.concurrent.*;
import java.util.*;
import java.util.stream.*;

class SimplePublisher implements Flow.Publisher<Integer> {
   private final Iterator<Integer> iterator;
   SimplePublisher(int count) {
      this.iterator = IntStream.rangeClosed(1, count).iterator();
   }
   @Override
   public void subscribe(Flow.Subscriber<? super Integer> subscriber) {
      iterator.forEachRemaining(subscriber::onNext);
      subscriber.onComplete();
   }
}

public class SimplePublisherImplTest {
   public static void main(String args[]) {
      new SimplePublisher(10).subscribe(new Flow.Subscriber<>() {
         @Override
         public void onSubscribe(Flow.Subscription subscription) {
         }
         @Override
         public void onNext(Integer item) {
            System.out.println("item = [" + item + "]");
         }
         @Override
         public void onError(Throwable throwable) {
         }
         @Override
         public void onComplete() {
            System.out.println("complete");
         }
      });
   }
}

आउटपुट

item = [1]
item = [2]
item = [3]
item = [4]
item = [5]
item = [6]
item = [7]
item = [8]
item = [9]
item = [10]
complete

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

    A JTextField JTextComponent . का उपवर्ग है वर्ग और यह सबसे महत्वपूर्ण घटकों में से एक है जो उपयोगकर्ता को एकल-पंक्ति प्रारूप में एक इनपुट टेक्स्ट मान की अनुमति देता है . एक JTextField वर्ग एक एक्शन लिस्टनर generate उत्पन्न करेगा इंटरफ़ेस जब हम इसके अंदर कुछ इनपुट दर्ज करने का प्रयास करते हैं। JT

  1. हम जावा में एक संपादन योग्य जेएलएबल कैसे कार्यान्वित कर सकते हैं?

    जेएलएबल एक जेएलएबल वर्ग JComponent का विस्तार कर सकता है क्लास और JLabel का ऑब्जेक्ट GUI . पर टेक्स्ट निर्देश या जानकारी प्रदान करता है । एक जेएलएबल केवल पढ़ने के लिए पाठ की एक पंक्ति प्रदर्शित कर सकता है , एक छवि या दोनों पाठ और छवि । जेएलएबल के महत्वपूर्ण तरीके हैं setText(), setIcon(), setBackgr

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

    JToggleButton एक JToggleButton सार बटन . का विस्तार है और इसका उपयोग उन बटनों को दर्शाने के लिए किया जा सकता है जिन्हें चालू . पर टॉगल किया जा सकता है और बंद । जब JToggleButton पहली बार दबाया जाता है, यह दबाया रहता है और इसे दूसरी बार दबाने पर ही छोड़ा जा सकता है। एक JToggleButton एक एक्शनइवें