12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
- package EierUhrKomponente;
-
- import java.util.concurrent.CopyOnWriteArrayList;
- import java.util.concurrent.Flow;
- import java.util.concurrent.Flow.Subscriber;
- import java.util.logging.Logger;
- import ohmlogger.OhmLogger;
-
- /**
- *
- * @author chris
- */
- public class EierUhrController implements Flow.Subscriber<Integer>
- {
- private EierUhrView view;
- private EierUhrModel model;
- private EierUhr eierUhr;
- private Flow.Subscription sub;
- private static Logger lg = OhmLogger.getLogger();
-
- public EierUhrController(EierUhrView view, EierUhrModel model, EierUhr eierUhr)
- {
- this.view = view;
- this.model = model;
- this.eierUhr = eierUhr;
-
- addSubscription();
- }
- public void setZahl(int zahl)
- {
- view.setZahl(zahl);
- }
- public int getZahl()
- {
- return view.getZahl();
- }
-
- public void start(int zahl)
- {
- lg.info("Controller Start");
- model.initZahl(zahl);
- }
-
- private void addSubscription()
- {
- model.addSubscription(this);
- }
-
- @Override
- public void onSubscribe(Flow.Subscription subscription)
- {
- this.sub = subscription;
- sub.request(1);
- }
-
- @Override
- public void onNext(Integer item)
- {
- int zahl = view.getZahl();
- sub.request(1);
- view.setZahl(item);
- eierUhr.firePropertyChange("zahl", zahl, view.getZahl());
-
- if(item == 0)
- {
- eierUhr.fireEierUhrEvent(new EierUhrEvent(this));
- }
- }
-
- @Override
- public void onError(Throwable thrwbl)
- {
- }
-
- @Override
- public void onComplete()
- {
- }
- }
|