Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.api / src / main / java / org / gvsig / fmap / dal / BaseStoresRepository.java @ 44307

History | View | Annotate | Download (1.67 KB)

1
package org.gvsig.fmap.dal;
2

    
3
import java.util.HashMap;
4
import java.util.Map;
5
import org.apache.commons.lang3.StringUtils;
6
import org.gvsig.tools.util.UnmodifiableBasicSet;
7
import org.gvsig.tools.util.UnmodifiableBasicSetAdapter;
8

    
9
/**
10
 *
11
 * @author jjdelcerro
12
 */
13
@SuppressWarnings("UseSpecificCatch")
14
public class BaseStoresRepository 
15
        extends AbstractStoresRepository
16
        implements StoresRepository 
17
    {
18

    
19
    private final Map<String,DataStoreParameters> repository;
20

    
21
    public BaseStoresRepository(String name) {
22
        super(name);
23
        this.repository = new HashMap<>();
24
    }
25
    
26
    
27
    @Override
28
    protected DataStoreParameters getMyParameters(String name) {
29
        return this.repository.get(name);
30
    }
31

    
32
    @Override
33
    protected boolean isEmptyMyRepository() {
34
        return this.repository.isEmpty();
35
    }
36
    
37
    @Override
38
    protected int getMySize() {
39
        return this.repository.size();
40
    }
41

    
42
    @Override
43
    protected UnmodifiableBasicSet<String> getMyKeySet() {
44
        return new UnmodifiableBasicSetAdapter<>(this.repository.keySet());
45
    }
46

    
47
    @Override
48
    public void add(String name, DataStoreParameters parameters) {
49
        if( parameters == null ) {
50
            throw new IllegalArgumentException("parameters can't be null.");
51
        }
52
        if( StringUtils.isBlank(name) ) {
53
            throw new IllegalArgumentException("name can't be blank.");
54
        }
55
        this.repository.put(name, parameters);
56
    }
57

    
58
    @Override
59
    public void remove(String name) {
60
        if( StringUtils.isBlank(name) ) {
61
            LOGGER.warn("parameter name can't be blank");
62
            return;
63
        }
64
        this.repository.remove(name);
65
    }
66
    
67
}