Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libTools / src / org / gvsig / tools / dynobject / DynClass.java @ 25791

History | View | Annotate | Download (2.37 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Gobernment (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
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.DynMethodException;
30

    
31

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

    
38
    String getName();
39

    
40
    String getDescription();
41

    
42
    DynObject newInstance();
43

    
44
    /***************************/
45
    /* Parent DynClass objects */
46
    /***************************/
47

    
48
    void extend(DynClass dynClass);
49

    
50
    void extend(String dynClassName);
51

    
52
    DynClass[] getSuperDynClasses();
53

    
54
    boolean isInstance(DynObject dynObject);
55

    
56
    /*************/
57
    /* DynFields */
58
    /*************/
59

    
60
    DynField getDynField(String name);
61

    
62
    DynField getDeclaredDynField(String name);
63

    
64
    DynField[] getDynFields();
65

    
66
    DynField[] getDeclaredDynFields();
67

    
68
    DynField addDynField(String name);
69

    
70
    void removeDynField(String name);
71

    
72
    /**************/
73
    /* DynMethods */
74
    /**************/
75

    
76
    DynMethod getDeclaredDynMethod(String name) throws DynMethodException;
77

    
78
    DynMethod[] getDeclaredDynMethods() throws DynMethodException;
79

    
80
    DynMethod getDynMethod(String name) throws DynMethodException;
81

    
82
    DynMethod[] getDynMethods() throws DynMethodException;
83

    
84
    DynMethod getDynMethod(int code) throws DynMethodException;
85

    
86
    void addDynMethod(DynMethod dynMethod);
87

    
88
    void removeDynMethod(String name);
89

    
90
}