Mercurial Hosting > luan
comparison src/luan/modules/ThreadLuan.java @ 1389:eb8b35dccd99
cleanup and stringify change
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 03 Sep 2019 22:54:31 -0600 |
parents | 8d7a39ca2c0c |
children | ef1620aa99cb |
comparison
equal
deleted
inserted
replaced
1388:2024d23ddd64 | 1389:eb8b35dccd99 |
---|---|
47 | 47 |
48 public static void schedule(LuanFunction fn,LuanTable options) | 48 public static void schedule(LuanFunction fn,LuanTable options) |
49 throws LuanException | 49 throws LuanException |
50 { | 50 { |
51 Map map = options.asMap(); | 51 Map map = options.asMap(); |
52 Number delay = (Number)map.remove("delay"); | 52 Number delay = Utils.removeNumber(map,"delay"); |
53 Number repeatingDelay = (Number)map.remove("repeating_delay"); | 53 Number repeatingDelay = Utils.removeNumber(map,"repeating_delay"); |
54 Number repeatingRate = (Number)map.remove("repeating_rate"); | 54 Number repeatingRate = Utils.removeNumber(map,"repeating_rate"); |
55 boolean daemon = Boolean.TRUE.equals(map.remove("daemon")); | 55 boolean daemon = Boolean.TRUE.equals(Utils.removeBoolean(map,"daemon")); |
56 final boolean runOnClose = Boolean.TRUE.equals(map.remove("run_on_close")); | 56 final boolean runOnClose = Boolean.TRUE.equals(Utils.removeBoolean(map,"run_on_close")); |
57 if( repeatingDelay!=null && repeatingRate!=null ) | 57 if( repeatingDelay!=null && repeatingRate!=null ) |
58 throw new LuanException("can't define both repeating_delay and repeating_rate"); | 58 throw new LuanException("can't define both repeating_delay and repeating_rate"); |
59 boolean repeating = repeatingDelay!=null || repeatingRate!=null; | 59 boolean repeating = repeatingDelay!=null || repeatingRate!=null; |
60 if( !map.isEmpty() ) | 60 Utils.checkEmpty(map); |
61 throw new LuanException( "unrecognized options: "+map ); | |
62 Luan luan = fn.luan(); | 61 Luan luan = fn.luan(); |
63 LuanCloner cloner = new LuanCloner(LuanCloner.Type.COMPLETE); | 62 LuanCloner cloner = new LuanCloner(LuanCloner.Type.COMPLETE); |
64 final Luan newLuan = (Luan)cloner.clone(luan); | 63 final Luan newLuan = (Luan)cloner.clone(luan); |
65 final LuanFunction newFn = (LuanFunction)cloner.get(fn); | 64 final LuanFunction newFn = (LuanFunction)cloner.get(fn); |
66 final Runnable r = runnable(newFn); | 65 final Runnable r = runnable(newFn); |