Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.lib / src / main / java / org / gvsig / tools / resourcesstorage / BaseMultiResourcesStorage.java @ 2195

History | View | Annotate | Download (2.72 KB)

1
package org.gvsig.tools.resourcesstorage;
2

    
3
import java.util.ArrayList;
4
import java.util.List;
5

    
6
/**
7
 *
8
 * @author jjdelcerro
9
 */
10
public class BaseMultiResourcesStorage implements MultiResourcesStorage {
11

    
12
    private final List<ResourcesStorage> storages;
13
    
14
    public BaseMultiResourcesStorage() {
15
        this.storages = new ArrayList<>();
16
    }
17
    
18
    @Override
19
    public List<ResourcesStorage> getResourcesPaths() {
20
        return this.storages;
21
    }
22
    
23
    @Override
24
    public String getSeparator() {
25
        if( this.storages.isEmpty() ) {
26
            return ".";
27
        }
28
        return this.storages.get(0).getSeparator();
29
    }
30

    
31
    @Override
32
    public boolean isEmpty() {
33
        return false;
34
    }
35

    
36
    @Override
37
    public boolean isReadOnly() {
38
        return false;
39
    }
40

    
41
    @Override
42
    public Resource getResource(String resourceName) {
43
        for (ResourcesStorage storage : storages) {
44
            Resource res = storage.getResource(resourceName);
45
            if( res.exists() ) {
46
                return res;
47
            }
48
        }
49
        return null;
50
    }
51

    
52
    @Override
53
    public List<Resource> getResources(String resourceName) {
54
        for (ResourcesStorage storage : storages) {
55
            List<Resource> res = storage.getResources(resourceName);
56
            if( res!=null ) {
57
                return res;
58
            }
59
        }
60
        return null;
61
    }
62

    
63
    @Override
64
    public Resource getLocalizedResource(String resourceName) {
65
        Resource res = null;
66
        for (ResourcesStorage storage : storages) {
67
            res = storage.getResource(resourceName);
68
            if( res.exists() ) {
69
                return res;
70
            }
71
        }
72
        return res;
73
    }
74

    
75
    @Override
76
    public List<Resource> getLocalizedResources(String resourceName) {
77
        for (ResourcesStorage storage : storages) {
78
            List<Resource> res = storage.getLocalizedResources(resourceName);
79
            if( res!=null ) {
80
                return res;
81
            }
82
        }
83
        return null;
84
    }
85

    
86
    @Override
87
    public boolean exists(String resourceName) {
88
        for (ResourcesStorage storage : storages) {
89
            if( storage.exists(resourceName) ) {
90
                return true;
91
            }
92
        }
93
        return false;
94
    }
95

    
96
    @Override
97
    public List<String> getResourceNames() {
98
        List<String> names = new ArrayList<>();
99
        
100
        for (ResourcesStorage storage : storages) {
101
            names.addAll(storage.getResourceNames());
102
        }
103
        return names;
104
    }
105
    
106
    @Override
107
    public boolean remove(String resourceName) {
108
        throw new UnsupportedOperationException("Not supported yet.");
109
    }
110

    
111
    @Override
112
    public boolean allowRemove() {
113
        return false;
114
    }
115
    
116
}