Mercurial Hosting > luan
comparison src/luan/LuanState.java @ 787:c49980cdece6
use incremental cloning to serve web pages
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 04 Sep 2016 00:18:00 -0600 |
parents | fe63c508a177 |
children | dd36eae6aa04 |
comparison
equal
deleted
inserted
replaced
786:fe63c508a177 | 787:c49980cdece6 |
---|---|
15 | 15 |
16 public final class LuanState implements LuanCloneable { | 16 public final class LuanState implements LuanCloneable { |
17 public LuanJava java; | 17 public LuanJava java; |
18 private Map registry; | 18 private Map registry; |
19 private final List<Reference<Closeable>> onClose = new ArrayList<Reference<Closeable>>(); | 19 private final List<Reference<Closeable>> onClose = new ArrayList<Reference<Closeable>>(); |
20 public boolean isLocked = false; | |
20 | 21 |
21 public LuanState() { | 22 public LuanState() { |
22 java = new LuanJava(); | 23 java = new LuanJava(); |
23 registry = new HashMap(); | 24 registry = new HashMap(); |
24 } | 25 } |
31 | 32 |
32 @Override public void deepenClone(LuanCloneable dc,LuanCloner cloner) { | 33 @Override public void deepenClone(LuanCloneable dc,LuanCloner cloner) { |
33 LuanState clone = (LuanState)dc; | 34 LuanState clone = (LuanState)dc; |
34 clone.registry = cloner.clone(registry); | 35 clone.registry = cloner.clone(registry); |
35 clone.java = (LuanJava)cloner.clone(java); | 36 clone.java = (LuanJava)cloner.clone(java); |
36 /* | 37 if( cloner.type == LuanCloner.Type.INCREMENTAL ) |
37 if( !cloner.deep ) { | 38 isLocked = true; |
38 LuanCloner myCloner = new LuanCloner(false); | |
39 registry = myCloner.clone(registry); | |
40 java = (LuanJava)myCloner.clone(java); | |
41 } | |
42 */ | |
43 } | 39 } |
44 | 40 |
45 public final Map registry() { | 41 public Map registry() { |
46 return registry; | 42 return registry; |
47 } | 43 } |
48 | 44 |
49 public void onClose(Closeable c) { | 45 public void onClose(Closeable c) { |
50 onClose.add(new WeakReference<Closeable>(c)); | 46 onClose.add(new WeakReference<Closeable>(c)); |