
package ejemploeditorial;

import encapsuladoras.Tomo;
import java.util.ArrayList;
import java.util.List;
import jerarquiaherencia.Libro;
import jerarquiaherencia.Revista;

public class Inicio {
    public static void main(String[] args) {    
        Revista revista = new Revista();
        revista.setISSN("1234-5678");
        revista.setPeriodicidad("mensual");
        revista.setNumero(1);
        revista.setTitulo("Tierra y vida");
        revista.setAutor("Lorenzo Martínez");
        revista.setPrecio(5);
        revista.setExtension(new Integer(80));
        
        Libro libro = new Libro();
        libro.setISBN("978-5-29-123456-0");
        libro.setTitulo("Mundo Animal");
        libro.setAutor("Elena Pastor");
        libro.setPrecio(580);  
        
        List<Tomo> listaVolumenes = new ArrayList();
       
        Tomo tomo1 = new Tomo();
        tomo1.setNumeroVolumen((byte)1);
        tomo1.setTitulo("Los mamíferos");
        tomo1.setNumeroPaginas(200);
        listaVolumenes.add(tomo1);

        Tomo tomo2 = new Tomo();
        tomo2.setNumeroVolumen((byte)2);
        tomo2.setTitulo("Los reptiles");
        tomo2.setNumeroPaginas(180);
        listaVolumenes.add(tomo2);

        Tomo tomo3 = new Tomo();
        tomo3.setNumeroVolumen((byte)3);
        tomo3.setTitulo("Las aves");
        tomo3.setNumeroPaginas(210);
        listaVolumenes.add(tomo3);     
        
        libro.setExtension(listaVolumenes);
        
        System.out.println("----------  REVISTA  ----------");
        System.out.println("ISSN : "+revista.getISSN());
        System.out.println("Periodicidad : "+revista.getPeriodicidad());
        System.out.println("Número : "+revista.getNumero());
        System.out.println("Título : "+revista.getTitulo());
        System.out.println("Autor : "+revista.getAutor());
        System.out.println("Precio : "+revista.getPrecio());
        System.out.println("Número de páginas : "+((Integer)revista.getExtension()).intValue());
        
        System.out.println("----------  LIBRO  ----------");
        System.out.println("ISBN : "+libro.getISBN());
        System.out.println("Título : "+libro.getTitulo());
        System.out.println("Autor : "+libro.getAutor());
        System.out.println("Precio : "+libro.getPrecio());   
        
        
        System.out.println("VOLUMENES : ");
        System.out.println("--------------");
        System.out.println("Número de volúmnes de la obra : "+libro.getNumeroVolumenes());  
        
        List<Tomo> listaVolumenesGet = (List<Tomo>)libro.getExtension();   
        for (int i=0; i<listaVolumenesGet.size(); i++) 
        {
            System.out.println("--------------");        
            Tomo tomo = listaVolumenesGet.get(i);
            System.out.println("Volumen : "+tomo.getNumeroVolumen());
            System.out.println("Título : "+tomo.getTitulo());
            System.out.println("Número de Páginas : "+tomo.getNumeroPaginas());
        }    
    }
}
