Class Ramo

java.lang.Object
  extended by Ramo
All Implemented Interfaces:
java.lang.Comparable<Ramo>

public class Ramo
extends java.lang.Object
implements java.lang.Comparable<Ramo>

Esta clase tendrá todos los datos necesarios de los ramos de la carrera. Debe crearse una lista con todos los ramos de la carrera para interactuar con estos. Los métodos están ordenados por alfabeto.


Constructor Summary
Ramo(java.lang.String sigla, java.lang.String nombre, int creditos, int semestre, java.util.ArrayList<java.lang.String> prereq, int sem_dictados)
          Se construye el objeto ramo con sus parámetros relevantes.
 
Method Summary
 boolean checkPosibility(java.util.ArrayList<java.lang.String> ramos_ok, int sem_actual)
          Comparando los pre-requisitos propios con los ramos pasados por el usuario se setea su estado.
 Ramo clone()
          Método que implementa la clonacion de este ramo.
 int compareTo(Ramo otherRamo)
          Compara ramos por el semestre que se debieran tomar.
 int getCredits()
          Método para obtener la cantidad de créditos que tiene este ramo.
 java.lang.String getNombre()
          Método para obtener el nombre del ramo.
 java.util.ArrayList<java.lang.String> getPre()
          Método para obtener los de prerequisitos que tiene este ramo.
 int getSemDictados()
          Método para obtener el semestre dictado.
 int getSemester()
          Método para saber en qué semestre debiera tomarse este ramo.
 java.lang.String getSigla()
          Método para obtener la sigla del ramo.
 int getWeight()
          Método para saber la importancia o el peso de un ramo hablando en términos de querer terminar lo antes posible la universidad.
 boolean isPasado()
          Método para saber si un ramo fue aprobado.
 void setRamoPasado(boolean b)
          Método para setear el estado de un ramo.
 void setWeight(int p)
          Método para ir ajustando la importancia del ramo.
 java.lang.String toString()
          Método para saber si está bien la clase... se puede borrar para su funcionamiento en el programa completo.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Ramo

public Ramo(java.lang.String sigla,
            java.lang.String nombre,
            int creditos,
            int semestre,
            java.util.ArrayList<java.lang.String> prereq,
            int sem_dictados)
Se construye el objeto ramo con sus parámetros relevantes.

Parameters:
sigla - Es la sigla del Ramo con mayúsculas. Ej "FIS-110"
nombre - Es el nombre de la asignatura. Por mi convención la primera letra de palabra con mayúscula y el resto con minúscula. Ej "Física General I". En caso de haber artículos como "a", "de" o algún otro van con minúscula.
creditos - Son los créditos que tiene la asignatura.
semestre - Es el semestre en que el alumno debería tomar este ramo según la Malla.
prereq - Es la lista de pre-requisitos que tiene el ramo.
sem_dictados - Es el semestre en que se dicta; 1 para sólo el primer semestre, 2 para sólo el segundo y 3 para ambos.
Method Detail

checkPosibility

public boolean checkPosibility(java.util.ArrayList<java.lang.String> ramos_ok,
                               int sem_actual)
Comparando los pre-requisitos propios con los ramos pasados por el usuario se setea su estado. Este método tiene que ejecutarse después de que el usuario especifique qué ramos ha pasado.

Parameters:
ramos_ok - Lista de los ramos pasados.
sem_actual - Semestre para el cual el usuario está preguntando si es posible tomarlo. Puede ser para el primer semestre o el segundo.

compareTo

public int compareTo(Ramo otherRamo)
Compara ramos por el semestre que se debieran tomar.

Specified by:
compareTo in interface java.lang.Comparable<Ramo>
Parameters:
otherRamo - Es el otro Ramo con el que se compara.
Returns:
0 si ambos ramos se dan el mismo semestre, -1 si este ramo se debiera tomar antes que el otro y 1 si fuera después.

getCredits

public int getCredits()
Método para obtener la cantidad de créditos que tiene este ramo.

Returns:
creditos.

getNombre

public java.lang.String getNombre()
Método para obtener el nombre del ramo.

Returns:
nombre.

getSigla

public java.lang.String getSigla()
Método para obtener la sigla del ramo.

Returns:
sigla.

getPre

public java.util.ArrayList<java.lang.String> getPre()
Método para obtener los de prerequisitos que tiene este ramo.

Returns:
arreglo de prerrequisitos.

getWeight

public int getWeight()
Método para saber la importancia o el peso de un ramo hablando en términos de querer terminar lo antes posible la universidad.

Returns:
La importancia de un ramo, en una cantidad entra ("int")

getSemester

public int getSemester()
Método para saber en qué semestre debiera tomarse este ramo.

Returns:
El número de semestre en el que el alumno debería tomar este ramo según la malla.

getSemDictados

public int getSemDictados()
Método para obtener el semestre dictado.

Returns:
semestre en el que se dicta el ramo, returns 3 si se dicta en ambos.

isPasado

public boolean isPasado()
Método para saber si un ramo fue aprobado.

Returns:
estado del ramo.

setRamoPasado

public void setRamoPasado(boolean b)
Método para setear el estado de un ramo.

Parameters:
b - estado.

setWeight

public void setWeight(int p)
Método para ir ajustando la importancia del ramo.

Parameters:
p - Es la cantidad de peso que le estoy sumando.

toString

public java.lang.String toString()
Método para saber si está bien la clase... se puede borrar para su funcionamiento en el programa completo.

Overrides:
toString in class java.lang.Object

clone

public Ramo clone()
Método que implementa la clonacion de este ramo.

Overrides:
clone in class java.lang.Object
Returns:
clon.