diff options
Diffstat (limited to 'NET/worlds/scape/CallbackPropertyOperator.java')
| -rw-r--r-- | NET/worlds/scape/CallbackPropertyOperator.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/NET/worlds/scape/CallbackPropertyOperator.java b/NET/worlds/scape/CallbackPropertyOperator.java new file mode 100644 index 0000000..87395fd --- /dev/null +++ b/NET/worlds/scape/CallbackPropertyOperator.java @@ -0,0 +1,64 @@ +/* */ package NET.worlds.scape; +/* */ +/* */ import NET.worlds.console.Main; +/* */ import NET.worlds.console.MainCallback; +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ public class CallbackPropertyOperator +/* */ implements MainCallback +/* */ { +/* */ private Property prop; +/* */ private int func; +/* */ private Object value; +/* */ private boolean done; +/* */ +/* */ CallbackPropertyOperator(Property prop, int func, Object value) +/* */ { +/* 30 */ this.prop = prop; +/* 31 */ this.func = func; +/* 32 */ this.value = value; +/* 33 */ assert (!Main.isMainThread()); +/* 34 */ Main.register(this); +/* */ } +/* */ +/* */ synchronized Object getValue() +/* */ { +/* 39 */ while (!this.done) +/* */ try { +/* 41 */ wait(); +/* */ } catch (InterruptedException localInterruptedException) {} +/* 43 */ return this.value; +/* */ } +/* */ +/* */ public synchronized void mainCallback() +/* */ { +/* 48 */ modify(); +/* 49 */ Main.unregister(this); +/* 50 */ notify(); +/* */ } +/* */ +/* */ private void modify() +/* */ { +/* 55 */ this.value = this.prop.safeOperate(this.func, this.value); +/* 56 */ this.done = true; +/* */ } +/* */ } + + +/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\CallbackPropertyOperator.class + * Java compiler version: 6 (50.0) + * JD-Core Version: 0.7.1 + */
\ No newline at end of file |