Advertisement
Guest User

Centro (building) class

a guest
Feb 23rd, 2015
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. package fp.grados.tipos;
  2.  
  3. import java.util.HashSet;
  4. import java.util.Iterator;
  5. import java.util.Set;
  6.  
  7. import fp.grados.excepciones.ExcepcionCentroNoValido;
  8. import fp.grados.excepciones.ExcepcionCentroOperacionNoPermitida;
  9.  
  10. public class CentroImpl implements Centro {
  11.  
  12. //Atributos
  13. public String nombre;
  14. public String direccion;
  15. public Integer numeroPlantas;
  16. public Integer numeroSotanos;
  17. public Set<Espacio> espacios;
  18.  
  19. public CentroImpl(String nombre, String direccion, Integer numeroPlantas, Integer numeroSotanos){
  20. this.nombre = nombre;
  21. this.direccion = direccion;
  22. checkPlantas(numeroPlantas);
  23. checkSotanos(numeroSotanos);
  24. this.numeroPlantas = numeroPlantas;
  25. this.numeroSotanos = numeroSotanos;
  26. this.espacios = new HashSet<Espacio>();
  27. }
  28.  
  29. //CXhecks
  30. public void checkPlantas(Integer n){
  31. if (n < 1){
  32. throw new ExcepcionCentroNoValido("Numero de plantas invalido");
  33. }
  34. }
  35. public void checkSotanos(Integer n){
  36. if (n < 0){
  37. throw new ExcepcionCentroNoValido("Numero de sotanos invalido");
  38. }
  39. }
  40.  
  41. @Override
  42. public int hashCode() {
  43. final int prime = 31;
  44. int result = 1;
  45. result = prime * result + ((nombre == null) ? 0 : nombre.hashCode());
  46. return result;
  47. }
  48.  
  49. @Override
  50. public boolean equals(Object obj) {
  51. if (this == obj)
  52. return true;
  53. if (obj == null)
  54. return false;
  55. if (getClass() != obj.getClass())
  56. return false;
  57. CentroImpl other = (CentroImpl) obj;
  58. if (nombre == null) {
  59. if (other.nombre != null)
  60. return false;
  61. } else if (!nombre.equals(other.nombre))
  62. return false;
  63. return true;
  64. }
  65.  
  66.  
  67.  
  68. @Override
  69. public int compareTo(Centro arg0) {
  70. // TODO Auto-generated method stub
  71. return 0;
  72. }
  73.  
  74. @Override
  75. public String getNombre() {
  76. return nombre;
  77. }
  78.  
  79. @Override
  80. public String getDireccion() {
  81. return direccion;
  82. }
  83.  
  84. @Override
  85. public Integer getNumeroPlantas() {
  86. return numeroPlantas;
  87. }
  88.  
  89. @Override
  90. public Integer getNumeroSotanos() {
  91. return numeroSotanos;
  92. }
  93.  
  94. @Override
  95. public void nuevoEspacio(Espacio e) {
  96. Espacio aux1 = e;
  97. Integer plantaEspacioE = aux1.getPlanta();
  98. Integer sotanos = getNumeroSotanos() * -1;
  99. Integer plantas = getNumeroPlantas() -1;
  100. if(!(plantaEspacioE <= plantas && plantaEspacioE >= sotanos)) {
  101. throw new ExcepcionCentroOperacionNoPermitida("Planta para nuevo espacio invalida");
  102. }
  103. espacios.add(e);
  104.  
  105. }
  106.  
  107. @Override
  108. public void eliminaEspacio(Espacio e) {
  109. espacios.remove(e);
  110. }
  111.  
  112. @Override
  113. public Set<Espacio> getEspacios() {
  114. return espacios;
  115. }
  116.  
  117. @Override
  118. public String toString() {
  119. String s;
  120. s = nombre;
  121. return s;
  122. }
  123.  
  124. @Override
  125. public Integer[] getConteoEspacios() {
  126. Iterator<Espacio> iterador = espacios.iterator();
  127. Integer teorias = 0;
  128. Integer laboratorios = 0;
  129. Integer seminarios = 0;
  130. Integer examenes = 0;
  131. Integer otros = 0;
  132.  
  133. while (iterador.hasNext()) {
  134. Espacio aux1 = iterador.next();
  135.  
  136. switch (aux1.getTipo()) {
  137. case TEORIA:
  138. teorias++;
  139. break;
  140. case LABORATORIO:
  141. laboratorios++;
  142. break;
  143. case SEMINARIO:
  144. seminarios++;
  145. break;
  146. case EXAMEN:
  147. examenes++;
  148. break;
  149. case OTRO:
  150. otros++;
  151. break;
  152. default:
  153. break;
  154. }
  155. }
  156. Integer[] conteo = new Integer[5];
  157. conteo[0] = teorias;
  158. conteo[1] = laboratorios;
  159. conteo[2] = seminarios;
  160. conteo[3] = examenes;
  161. conteo[4] = otros;
  162.  
  163. return conteo;
  164. }
  165.  
  166. @Override
  167. public Set<Espacio> getDespachos() {
  168. Iterator<Espacio> iterador = espacios.iterator();
  169. Set<Espacio> despachos = new HashSet<Espacio>();
  170.  
  171. while (iterador.hasNext()) {
  172. Espacio aux1 = iterador.next();
  173.  
  174. if(aux1.getTipo() == TipoEspacio.OTRO){
  175. despachos.add(aux1);
  176. }
  177. }
  178. return despachos;
  179. }
  180.  
  181. @Override
  182. public Espacio getEspacioMayorCapacidad() {
  183. Iterator<Espacio> iterador = espacios.iterator();
  184. Set<Espacio> despachos = new HashSet<Espacio>();
  185. Integer aux = 0;
  186. Espacio aux2;
  187.  
  188. if(this.espacios.isEmpty())
  189. {
  190. throw new ExcepcionCentroOperacionNoPermitida("No hay espacios");
  191. }
  192.  
  193. while (iterador.hasNext()) {
  194. Espacio aux1 = iterador.next();
  195.  
  196. if(aux1.getCapacidad() > aux){
  197. aux2 = aux1;
  198. }
  199. }
  200. return aux2;
  201. }
  202.  
  203.  
  204.  
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement