/* ======================================================
                  Ricardo Martin Manso
                     PFC - UOC 2010
======================================================= */

package backup;

import java.io.IOException;
import java.io.RandomAccessFile;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

// =======================================================
// Almacena datos de un backup
// =======================================================

public class Backup {

    private Date fecha;
    private long tam;
    private long ptr;

    public Backup()
    {
         fecha=new Date();
    }

    public Backup(long ptr)
    {
        fecha=new Date();
        this.ptr=ptr;
    }

    public void setParams(long ptr,long tam)
    {
        this.tam=tam-this.ptr;
        this.ptr=ptr;
    }

    public void write(RandomAccessFile fich) throws IOException
    {
        fich.writeLong(getFecha().getTime());
        fich.writeLong(tam);
        fich.writeLong(getPtr());
    }

    public void read(RandomAccessFile fich) throws IOException, ParseException
    {
        fecha.setTime(fich.readLong());
        tam=fich.readLong();
        ptr=fich.readLong();
    }

    public String getStrFecha()
    {
        SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yy HH:mm");
        return formato.format(getFecha());
    }

    public void print()
    {
        System.out.print(" Fecha:"+getStrFecha());
        if (tam>1024*1024) 
            System.out.format("  [%8.2f MB]\n",(tam/(1024.0*1024.0)));
        else
            System.out.format("  [%8.2f KB]\n",(tam/(1024.0)));
    }

    public long getPtr() {
        return ptr;
    }

    /**
     * @return the fecha
     */
    public Date getFecha() {
        return fecha;
    }

    /**
     * @param fecha the fecha to set
     */
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

}
