forked from clojurians-org/clojure-example
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScheduler.java
More file actions
34 lines (30 loc) · 894 Bytes
/
Scheduler.java
File metadata and controls
34 lines (30 loc) · 894 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.Map ;
import java.util.HashMap ;
import clojure.lang.IFn ;
import clojure.java.api.Clojure ;
public class Scheduler {
static {
IFn require = Clojure.var("clojure.core", "require") ;
require.invoke(Clojure.read("cheshire.core")) ;
}
public static Scheduler parse(bytes[] zdata) {
IFn parse_string = Clojure.var("cheshire.core", "parse-string") ;
return new Scheduler((Map)parse_string.invoke(new String(zdata))) ;
}
public Map state ;
public void init(Map state) {
this.state = state ;
}
public Scheduler(Map state) {
init(state) ;
}
public Integer getMaxRunningTasks() {
return (Integer)this.state.get("max-running-tasks") ;
}
public Integer getMaxAccumCost() {
return (Integer)this.state.get("max-accum-cost") ;
}
public Integer getMaxSingleCost() {
return (Integer)this.state.get("max-single-cost") ;
}
}