Fix some minor bugs, Update of the comments, 100 % test coverage, tests update and...
[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
19  */
20 public interface ScilabType extends Serializable, Cloneable {
21
22         /**
23          * Return the width (number of elements) of the stored data
24          *
25          * @return the width
26          */
27         int getWidth();
28         
29         /**
30          * Return the height (number of elements) of the stored data
31          *
32          * @return the height
33          */
34         int getHeight();
35         
36         /**
37          * Check if the current instance is empty.
38          * 
39          * @return true, the there is no data; false otherwise.
40          */
41         boolean isEmpty();
42         
43
44         /**
45          * Compare if obj is the same object or not
46          * @param obj the object we want to compare
47          * @return true if the two objects are equals, false otherwise
48          */
49         public boolean equals(Object obj);
50
51         /**
52          * Display the representation in the Scilab language of the type
53          *
54          * @return the pretty print
55          */
56         String toString();
57 }