gvsig-3d / 2.1 / trunk / org.gvsig.view3d / org.gvsig.view3d.lib / org.gvsig.view3d.lib.api / src / main / java / org / gvsig / view3d / lib / api / loader / AbstractLoaderParameters.java @ 755
History | View | Annotate | Download (1.81 KB)
1 |
package org.gvsig.view3d.lib.api.loader; |
---|---|
2 |
|
3 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
4 |
import org.gvsig.tools.persistence.PersistentState; |
5 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
6 |
|
7 |
/**
|
8 |
* This class provides a skeletal implementation of
|
9 |
* <code>LoaderParameters</code> to minimize effort required to implement this
|
10 |
* interface.
|
11 |
*
|
12 |
* @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
|
13 |
*
|
14 |
*/
|
15 |
public abstract class AbstractLoaderParameters implements LoaderParameters { |
16 |
|
17 |
protected FLayer layer;
|
18 |
|
19 |
public static final String LAYER_FIELD_NAME = "layer"; |
20 |
|
21 |
/**
|
22 |
* Empty constructor.
|
23 |
*/
|
24 |
public AbstractLoaderParameters() {
|
25 |
|
26 |
} |
27 |
|
28 |
/**
|
29 |
* Constructs a <code>AbstractLoaderParameters</code> with the specified
|
30 |
* layer.
|
31 |
*
|
32 |
* @param layer
|
33 |
* The specified layer
|
34 |
*/
|
35 |
public AbstractLoaderParameters(FLayer layer) {
|
36 |
this.setLayer(layer);
|
37 |
} |
38 |
|
39 |
@Override
|
40 |
public FLayer getLayer() {
|
41 |
return this.layer; |
42 |
} |
43 |
|
44 |
@Override
|
45 |
public void setLayer(FLayer layer) { |
46 |
this.layer = layer;
|
47 |
} |
48 |
|
49 |
@Override
|
50 |
public void saveToState(PersistentState state) throws PersistenceException { |
51 |
state.set(LAYER_FIELD_NAME, this.layer);
|
52 |
doSaveToState(state); |
53 |
} |
54 |
|
55 |
protected abstract void doSaveToState(PersistentState state) throws PersistenceException; |
56 |
|
57 |
@Override
|
58 |
public void loadFromState(PersistentState state) throws PersistenceException { |
59 |
this.layer = (FLayer) state.get(LAYER_FIELD_NAME);
|
60 |
doLoadFromState(state); |
61 |
} |
62 |
|
63 |
protected abstract void doLoadFromState(PersistentState state) throws PersistenceException; |
64 |
|
65 |
@Override
|
66 |
public Object clone() throws CloneNotSupportedException { |
67 |
throw new CloneNotSupportedException("Can not clone abstract class"); |
68 |
} |
69 |
} |