]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/src/org/simantics/modeling/LifeCycleContext.java
Merge commit 'd7afa23'
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / LifeCycleContext.java
1 package org.simantics.modeling;\r
2 \r
3 import org.simantics.db.Resource;\r
4 import org.simantics.scl.runtime.function.Function1;\r
5 import org.simantics.scl.runtime.tuple.Tuple0;\r
6 \r
7 public class LifeCycleContext {\r
8 \r
9         final private Resource resource;\r
10         final private Function1<LifeCycleContext,Tuple0> load;\r
11         final private Function1<LifeCycleContext,Tuple0> unload;\r
12         \r
13         public LifeCycleContext(Resource resource, Function1<LifeCycleContext, Tuple0> load, Function1<LifeCycleContext, Tuple0> unload) {\r
14                 this.resource = resource;\r
15                 this.load = load;\r
16                 this.unload = unload;\r
17         }\r
18         \r
19         public void load() {\r
20                 if(load != null) load.apply(this);\r
21         }\r
22         \r
23         public void unload() {\r
24                 if(unload != null) unload.apply(this);\r
25         }\r
26         \r
27 }\r