package tirateima.controlador;
import java.util.ArrayList;
import java.util.List;
import tirateima.gui.variaveis.Variavel;
/**
* Contém uma definição de tipo (registro) do Tira-Teima.
*
* @author Luciano Santos
*/
public class RecordDefinition {
/** O nome do tipo. */
public String name;
/** A lista de campos do tipo. */
public List<Variavel> fields;
/**
* Cria uma nova definição de tipo.
*
* @param name
* @param fields
*/
public RecordDefinition(String name, List<Variavel> fields) {
this.name = name;
this.fields = fields;
}
/**
* Cria uma cópia dessa definição de tipo.
*/
public RecordDefinition clone() {
String name_aux = new String(name);
List<Variavel> fields_aux = new ArrayList<Variavel>();
for (Variavel v : fields) {
fields_aux.add(v.criarCopia());
}
return new RecordDefinition(name_aux, fields_aux);
}
}