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 / feature / ForeingKey.java @ 45220

History | View | Annotate | Download (2.31 KB)

1 44262 jjdelcerro
package org.gvsig.fmap.dal.feature;
2
3
import java.util.List;
4
import org.gvsig.expressionevaluator.Expression;
5
import org.gvsig.expressionevaluator.SymbolTable;
6
import org.gvsig.fmap.dal.StoresRepository;
7
import org.gvsig.fmap.dal.expressionevaluator.FeatureSymbolTable;
8
import org.gvsig.tools.dispose.Disposable;
9
import org.gvsig.tools.dynobject.DynObjectValueItem;
10
11
/**
12
 *
13
 * @author jjdelcerro
14
 */
15
public interface ForeingKey {
16
17
    public static final int MAX_AVAILABLE_VALUES = 1000;
18
19
    public interface ContextForeingKey extends Disposable {
20
        public StoresRepository getStoresRepository();
21
        public FeatureStore getFeatureStore();
22
        public Expression getLabelExpression();
23
        public FeatureSymbolTable getFeatureSymbolTable();
24
        public SymbolTable getSymbolTable();
25
    }
26
27
    public ContextForeingKey createContext();
28
29
    public boolean isForeingKey();
30
31 44338 jjdelcerro
    /**
32
     * Indicates whether the foreign key reference to a closed list of values.
33
     *
34
     * @return
35
     */
36
    public boolean isClosedList();
37 44262 jjdelcerro
38
    public String getTableName();
39
40
    public String getCodeName();
41
42
    public String getLabelFormula();
43
44
45
    public boolean isEmpty();
46
47
    public Object getCode(ContextForeingKey context, Feature feature);
48
49
    public Feature getFeature(ContextForeingKey context, Object codeValue);
50
51
    public FeatureStore getFeatureStore(ContextForeingKey context);
52
53
    public FeatureType getFeatureType(ContextForeingKey context);
54
55
    public List<Feature> getFeatures(ContextForeingKey context);
56
57
    public String getLabel(ContextForeingKey context, Object codeValue);
58
59
    public String getLabel(ContextForeingKey context, Feature feature);
60
61
    public Expression getLabelExpression(ContextForeingKey context);
62
63
    public FeatureQuery getQuery(ContextForeingKey context, Object codeValue);
64
65
    public StoresRepository getStoresRepository(ContextForeingKey context);
66
67
    public DynObjectValueItem[] getAvailableValues(ContextForeingKey context);
68 44338 jjdelcerro
69
    public String getLabelForValue(Object value);
70 44262 jjdelcerro
71 44363 jjdelcerro
    public boolean getEnsureReferentialIntegrity();
72 44262 jjdelcerro
73 44363 jjdelcerro
    /**
74
     * If the data store supports it, it ensures that referential integrity is respected.
75
     *
76
     * @param ensureReferentialIntegrity
77
     */
78
    public void setEnsureReferentialIntegrity(boolean ensureReferentialIntegrity);
79 44262 jjdelcerro
}