Xcos: exclude the type field introduced by d74e94
[scilab.git] / scilab / modules / types / src / java / org / scilab / modules / types / ScilabType.java
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2009-2009 - DIGITEO - Bruno JOFRET
4  * 
5  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  * 
11  */
12
13 package org.scilab.modules.types;
14
15 import java.io.Serializable;
16
17 /**
18  * This interface specifies what is a Scilab types<br>
19  * <br>
20  * This class is {@link java.io.Serializable} and any modification could 
21  * impact load and store of data (Xcos files, Javasci saved data, etc...).<br>
22  * <br>
23  */
24 public interface ScilabType extends Serializable, Cloneable {
25
26     /** 
27      * Return the type of Scilab 
28      * @return the type of Scilab
29      * @since 5.4.0
30      */
31     public ScilabTypeEnum getType();
32
33         /**
34          * Return the width (number of elements) of the stored data
35          *
36          * @return the width
37          */
38         int getWidth();
39         
40         /**
41          * Return the height (number of elements) of the stored data
42          *
43          * @return the height
44          */
45         int getHeight();
46         
47         /**
48          * Check if the current instance is empty.
49          * 
50          * @return true, the there is no data; false otherwise.
51          */
52         boolean isEmpty();
53         
54
55         /**
56          * Compare if obj is the same object or not
57          * @param obj the object we want to compare
58          * @return true if the two objects are equals, false otherwise
59          */
60         public boolean equals(Object obj);
61
62         /**
63          * Display the representation in the Scilab language of the type<br />
64          * Note that the representation can be copied/pasted straight into Scilab 
65      * 
66          * @return the pretty print
67          */
68         String toString();
69 }