public class Television { private String marca = ""; private int volumen = 6; private String proveedor; private String modelo; /** * @return the modelo */ public String getModelo() { return modelo; } /** * @param modelo the modelo to set */ public void setModelo(String modelo) { if (modelo.startsWith("TV") || modelo.indexOf("LG")>=0 || modelo.matches("[A-Za-z]{4}[0-9]{3}")){ this.modelo = modelo; } } public static final int MIN_VOLUME = 0; public static final int MAX_VOLUME = 100; public static final String[] VALID_BRANDS = { "Sony", "Zenith", "Hitachi", "RCA" }; public Television(String marca, int volumen, String proveedor) { setMarca(marca); setVolumen(volumen); setProveedor(proveedor); } public Television(String proveedor) { this("LG", 6, proveedor); } /** * @return the proveedor */ public String getProveedor() { return proveedor; } /** * @param proveedor * the proveedor to set */ private void setProveedor(String proveedor) { this.proveedor = proveedor; } /** * @return the marca */ public String getMarca() { return marca; } /** * @param marca * the marca to set */ public void setMarca(String marca) { for (String m : VALID_BRANDS) { if (marca.equals(m)) { this.marca = marca; return; } } } /** * @return the volumen */ public int getVolumen() { return volumen; } /** * @param volumen * the volumen to set */ public void setVolumen(int volumen) { volumen = Math.min(volumen, Television.MAX_VOLUME); volumen = Math.max(volumen, Television.MIN_VOLUME); this.volumen = volumen; } public String toString(){ return marca+"|"+modelo+"|"+volumen+"|"+proveedor; } }