]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.common/src/org/simantics/db/common/ProcedureBarrier.java
More DB ListenerAdapter abstract to force isDisposed implementation
[simantics/platform.git] / bundles / org.simantics.db.common / src / org / simantics / db / common / ProcedureBarrier.java
index 3bc553c9d0e0447dbd82618ef618bfa333ae4e4b..f369fe20e944932dcde22ed47a8be19f7353dd57 100644 (file)
@@ -1,42 +1,42 @@
-package org.simantics.db.common;\r
-\r
-import java.util.concurrent.atomic.AtomicInteger;\r
-\r
-import org.simantics.db.AsyncReadGraph;\r
-import org.simantics.db.procedure.AsyncProcedure;\r
-\r
-final public class ProcedureBarrier<T> extends AtomicInteger {\r
-\r
-       private static final long serialVersionUID = -2699547741948233067L;\r
-       \r
-       private volatile Throwable throwable;\r
-       \r
-       public ProcedureBarrier(int initial) {\r
-               super(initial);\r
-       }\r
-       \r
-       final synchronized public void except(Throwable throwable) {\r
-               this.throwable = throwable;\r
-       }\r
-       \r
-       final public Throwable getThrowable() {\r
-               return throwable;\r
-       }\r
-       \r
-       final public void dec(AsyncReadGraph graph, AsyncProcedure<T> procedure, Throwable throwable) {\r
-               synchronized(this) {\r
-                       this.throwable = throwable;\r
-               }\r
-               if(decrementAndGet() == 0) {\r
-                       procedure.exception(graph, throwable);\r
-               }\r
-       }\r
-\r
-       final public void dec(AsyncReadGraph graph, AsyncProcedure<T> procedure, T result) {\r
-               if(decrementAndGet() == 0) {\r
-                       if(throwable != null) procedure.exception(graph, throwable);\r
-                       else procedure.execute(graph, result);\r
-               }\r
-       }\r
-       \r
-}\r
+package org.simantics.db.common;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.simantics.db.AsyncReadGraph;
+import org.simantics.db.procedure.AsyncProcedure;
+
+final public class ProcedureBarrier<T> extends AtomicInteger {
+
+       private static final long serialVersionUID = -2699547741948233067L;
+       
+       private volatile Throwable throwable;
+       
+       public ProcedureBarrier(int initial) {
+               super(initial);
+       }
+       
+       final synchronized public void except(Throwable throwable) {
+               this.throwable = throwable;
+       }
+       
+       final public Throwable getThrowable() {
+               return throwable;
+       }
+       
+       final public void dec(AsyncReadGraph graph, AsyncProcedure<T> procedure, Throwable throwable) {
+               synchronized(this) {
+                       this.throwable = throwable;
+               }
+               if(decrementAndGet() == 0) {
+                       procedure.exception(graph, throwable);
+               }
+       }
+
+       final public void dec(AsyncReadGraph graph, AsyncProcedure<T> procedure, T result) {
+               if(decrementAndGet() == 0) {
+                       if(throwable != null) procedure.exception(graph, throwable);
+                       else procedure.execute(graph, result);
+               }
+       }
+       
+}