Statistics
| Revision:

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
}