pekko/akka-docs/java/code/akka/docs/transactor/Counter.java

29 lines
664 B
Java
Raw Normal View History

/**
* Copyright (C) 2009-2011 Typesafe Inc. <http://www.typesafe.com>
*/
package akka.docs.transactor;
//#class
import akka.transactor.*;
2012-01-18 15:59:59 +13:00
import scala.concurrent.stm.Ref;
import static scala.concurrent.stm.JavaAPI.*;
public class Counter extends UntypedTransactor {
2012-01-18 15:59:59 +13:00
Ref.View<Integer> count = newRef(0);
2012-01-18 15:59:59 +13:00
public void atomically(Object message) {
if (message instanceof Increment) {
2012-01-18 15:59:59 +13:00
increment(count, 1);
}
}
@Override public boolean normally(Object message) {
if ("GetCount".equals(message)) {
2012-01-18 15:59:59 +13:00
getSender().tell(count.get());
return true;
} else return false;
}
}
//#class