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