কম্পিউটার

জাভা 9 এ Flow.Publisher ইন্টারফেস কিভাবে বাস্তবায়ন করবেন?


A প্রকাশক ৷ ইন্টারফেস হল একটি সীমাহীন সংখ্যক অনুক্রমযুক্ত উপাদানগুলির একটি প্রদানকারী, তাদের গ্রাহক(গুলি) থেকে প্রাপ্ত চাহিদা অনুযায়ী প্রকাশ করে . Publisher.subscribe(Subscriber) কলের জবাবে , সাবস্ক্রাইবার-এর পদ্ধতির জন্য সম্ভাব্য আহ্বানের ক্রম . এর মানে হল onSubscribe() পদ্ধতি, এর পরে onNext() এর সীমাহীন সংখ্যা পদ্ধতি (সাবস্ক্রাইবার দ্বারা অনুরোধ করা হয়েছে ) এর পরে একটি onError() পদ্ধতি, যদি কোনো ব্যর্থতা বা onComplete() থাকে পদ্ধতি যখন সাবস্ক্রিপশন পর্যন্ত আর কোনো উপাদান পাওয়া যায় না বাতিল করা হয় না।

সিনট্যাক্স

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. কিভাবে আমরা জাভাতে স্বয়ংক্রিয়-সম্পূর্ণ JComboBox বাস্তবায়ন করতে পারি?

  2. কিভাবে আমরা জাভাতে একটি বৃত্তাকার JTextField বাস্তবায়ন করতে পারি?

  3. কিভাবে আমরা জাভাতে একটি সম্পাদনাযোগ্য JLabel বাস্তবায়ন করতে পারি?

  4. কিভাবে আমরা জাভাতে একটি JToggleButton বাস্তবায়ন করতে পারি?