Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.lib / src / main / java / org / gvsig / tools / dynobject / DynStruct.java @ 1341

History | View | Annotate | Download (5.05 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 2 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2008 {DiSiD Technologies}  {Create DynObjects implementation}
26
 */
27
package org.gvsig.tools.dynobject;
28

    
29
import org.gvsig.tools.dynobject.exception.DynObjectValidateException;
30

    
31
/**
32
 * @author <a href="mailto:jjdelcerro@gvsig.org">Joaqu?n Jos? del Cerro</a>
33
 * @author <a href="mailto:cordin@disid.com">C?sar Ordi?ana</a>
34
 */
35
public interface DynStruct {
36

    
37
    String getName();
38

    
39
    String getNamespace();
40

    
41
    String getFullName();
42

    
43
    String getDescription();
44

    
45
    void setNamespace(String namespace);
46

    
47
    void setDescription(String description);
48

    
49
    DynField getDynField(String name);
50

    
51
    DynField getDeclaredDynField(String name);
52

    
53
    DynField[] getDynFields();
54

    
55
    DynField[] getDeclaredDynFields();
56

    
57
    DynField addDynField(String name);
58

    
59
    DynField addDynFieldBoolean(String name);
60

    
61
    DynField addDynFieldInt(String name);
62

    
63
    DynField addDynFieldLong(String name);
64

    
65
    DynField addDynFieldFloat(String name);
66

    
67
    DynField addDynFieldDouble(String name);
68

    
69
    DynField addDynFieldString(String name);
70

    
71
    DynField addDynFieldDate(String name);
72

    
73
    DynField addDynFieldList(String name);
74

    
75
    DynField addDynFieldArray(String name);
76

    
77
    DynField addDynFieldMap(String name);
78

    
79
    DynField addDynFieldSet(String name);
80

    
81
    DynField addDynFieldObject(String name);
82

    
83
    DynField addDynFieldFile(String name);
84

    
85
    DynField addDynFieldFolder(String name);
86

    
87
    DynField addDynFieldURL(String name);
88

    
89
    DynField addDynFieldURI(String name);
90

    
91
    /**
92
     * @param name
93
     * @param type
94
     * @param defaultValue
95
     * @return 
96
     * @deprecated to be removed in gvSIG 2.1.0
97
     * @see #addDynFieldString(String)
98
     */
99
    DynField addDynFieldSingle(String name, int type, Object defaultValue,
100
            boolean mandatory, boolean persistent);
101

    
102
    /**
103
     * @param name
104
     * @param type
105
     * @param defaultValue
106
     * @return 
107
     * @deprecated to be removed in gvSIG 2.1.0
108
     * @see #addDynFieldString(String)
109
     */
110
    DynField addDynFieldSingle(String name, int type, Object defaultValue);
111

    
112
    /**
113
     * @param name
114
     * @param type
115
     * @param defaultValue
116
     * @param min
117
     * @param max
118
     * @param mandatory
119
     * @param persistent
120
     * @return 
121
     * @deprecated to be removed in gvSIG 2.1.0
122
     * @see #addDynFieldRange(String)
123
     */
124
    DynField addDynFieldRange(String name, int type, Object defaultValue,
125
            Object min, Object max, boolean mandatory, boolean persistent);
126

    
127
    /**
128
     * @param name
129
     * @param type
130
     * @param defaultValue
131
     * @param min
132
     * @param max
133
     * @return 
134
     * @deprecated to be removed in gvSIG 2.1.0
135
     * @see #addDynFieldRange(String)
136
     */
137
    DynField addDynFieldRange(String name, int type, Object defaultValue,
138
            Object min, Object max);
139

    
140
    /**
141
     * @param name
142
     * @param type
143
     * @param defaultValue
144
     * @param values
145
     * @param mandatory
146
     * @param persistent
147
     * @return 
148
     * @deprecated to be removed in gvSIG 2.1.0
149
     * @see #addDynFieldChoice(String)
150
     */
151
    DynField addDynFieldChoice(String name, int type, Object defaultValue,
152
            DynObjectValueItem[] values, boolean mandatory, boolean persistent);
153

    
154
    /**
155
     * @param name
156
     * @param type
157
     * @param defaultValue
158
     * @param values
159
     * @return 
160
     * @deprecated to be removed in gvSIG 2.1.0
161
     * @see #addDynFieldChoice(String)
162
     */
163
    DynField addDynFieldChoice(String name, int type, Object defaultValue,
164
            DynObjectValueItem[] values);
165

    
166
    void removeDynField(String name);
167

    
168
    void validate(DynObject object) throws DynObjectValidateException;
169

    
170
    DynObject newInstance();
171

    
172
    void extend(DynStruct struct);
173

    
174
    void extend(String namespace, String structName);
175

    
176
    void extend(String structName);
177

    
178
    /**
179
     *
180
     * Removes a given dynStruct from the current superDynClasses of this
181
     * dynClass. If it is not contained, does nothing.
182
     *
183
     * @param superDynStruct the dynStruct to be removed.
184
     */
185
    void remove(DynStruct superDynStruct);
186

    
187
    DynStruct[] getSuperDynStructs();
188

    
189
    boolean isInstance(DynObject dynObject);
190

    
191
    boolean isExtendable(DynStruct dynStruct);
192

    
193
}