Package org.flexdock.perspective.persist

Source Code of org.flexdock.perspective.persist.DefaultFilePersister

/*
* Created on May 30, 2005
*/
package org.flexdock.perspective.persist;

import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;

import org.flexdock.docking.state.PersistenceException;

/**
* @author Christopher Butler
*/
public class DefaultFilePersister implements Persister {

    public PerspectiveModel load(InputStream in) throws IOException, PersistenceException {
        if(in==null)
            return null;

        ObjectInputStream ois = null;
        try {
            ois = in instanceof ObjectInputStream? (ObjectInputStream)in:
                  new ObjectInputStream(in);
            return (PerspectiveModel) ois.readObject();
        } catch(ClassNotFoundException ex) {
            throw new PersistenceException("Unable to unmarshal data", ex);
        } finally {
            if(ois != null) {
                ois.close();
            }
        }
    }

    public boolean store(OutputStream out, PerspectiveModel info) throws IOException {
        if(info==null || out==null)
            return false;

        ObjectOutputStream oos = null;
        try {
            oos = out instanceof ObjectOutputStream? (ObjectOutputStream) out:new ObjectOutputStream(out);
            oos.writeObject(info);

            return true;
        } finally {
            if(oos != null) {
                oos.close();
            }
        }
    }

}
TOP

Related Classes of org.flexdock.perspective.persist.DefaultFilePersister

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.