2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2009-2009 - DIGITEO - Bruno JOFRET
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
13 package org.scilab.modules.types;
15 import java.util.ArrayList;
16 import java.util.Collection;
19 * This class provides a representation on the Scilab TList datatype
23 * ScilabTList data = new ScilabTList();<br />
24 * data.add(new ScilabString("hello"));<br />
25 * data.add(new ScilabDouble(2));<br />
27 * @see org.scilab.modules.javasci.Scilab
29 public class ScilabTList extends ArrayList<ScilabType> implements ScilabType {
31 private static final long serialVersionUID = 8080160982092586620L;
33 private ScilabTypeEnum type = ScilabTypeEnum.sci_tlist;
36 * Construct an empty tlist.
38 * Note that the first element of this collection is the header used by
39 * Scilab to find each field type.
41 public ScilabTList() {
46 * Construct a tlist with a specified header.
48 * @param types type names of the fields.
50 public ScilabTList(String []types) {
52 String [][] typesData = new String[1][types.length];
54 add(new ScilabString(typesData));
58 * Construct a tlist containing the elements of the specified collection, in
59 * the order that they are returned by the specified collection's iterator.
62 * type names of the fields.
64 * the collection whose elements are to be placed into this
67 public ScilabTList(String[] types, Collection< ? extends ScilabType> c) {
70 String[][] typesData = new String[1][types.length];
72 add(new ScilabString(typesData));
78 * Return the type of Scilab
79 * @return the type of Scilab
82 public ScilabTypeEnum getType() {
87 * @return 1 when there is data on the list, 0 otherwise.
88 * @see org.scilab.modules.types.ScilabType#getHeight()
91 public int getHeight() {
99 * @return 1 when there is data on the list, 0 otherwise.
100 * @see org.scilab.modules.types.ScilabType#getWidth()
103 public int getWidth() {
111 * Display the representation in the Scilab language of the type<br />
112 * Note that the representation can be copied/pasted straight into Scilab
114 * @return the pretty-printed data
115 * @see java.util.AbstractCollection#toString()
118 public String toString() {
120 StringBuffer result = new StringBuffer();
122 result.append("tlist()");
123 return result.toString();
126 result.append("tlist(");
127 for (int i = 0; i < size(); i++) {
128 result.append(get(i));
129 if (i != size() - 1) {
136 return result.toString();