package projectv1a; import java.util.*; /** * Clase InstanceList * * En esta clase almacenaremos una lista con todas las instancias clasificadas * por clases. * * Tendrá 1 objeto de tipo ClassSpecification y X tipo InstanceSpecification */ public class InstanceList{ private ClassSpecification classSpecification; // La clase en cuestion private Vector instanceList; // Todas las instancias de la clase - InstanceSpecification //CASTOR private int identity; private KnowledgeBase knowledgeBase; // Variables auxiliares InstanceSpecification instance; SlotValueSpecification attributeValue; boolean found; //////////// CONSTRUCTORES ////////////// public InstanceList(){ instanceList = new Vector(); } public InstanceList(ClassSpecification c){ classSpecification = c; instanceList = new Vector(); } public InstanceList(ClassSpecification c, Vector v){ classSpecification = c; instanceList = v; } ///////////////////////////////////////// public KnowledgeBase getKnowledgeBase(){ return knowledgeBase; } public void setKnowledgeBase(KnowledgeBase kb){ knowledgeBase = kb; } public void setId(int i){ identity = i; } public int getId(){ return identity; } public void addInstance(InstanceSpecification instance){ instanceList.add(instance); instance.setInstanceList(this); } public Vector getInstanceList(){ return instanceList; } public void setInstanceList(Vector v){ instanceList = v; } public ClassSpecification getClassSpecification(){ return classSpecification; } public void setClassSpecification(ClassSpecification c){ classSpecification = c; } public void setAbstract(){ // pone como abstracta la clase, lo que implica la eliminación de sus instancias instanceList = new Vector(); // se supone que si nos interesa conservar las instancias ya las habremos recolocado classSpecification.setRole(true); } public void specializationOperations(Vector criterion){ for(int i=0; i