1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 package org.netbeans.mdr.persistence; 20 21 /** Every implementation must provide a constructor without parameters. 22 * Cache should be able to populate the object using restore method. 23 * 24 * @author Pavel Buzek 25 * @version 1.0 26 */ 27 public interface Streamable { 28 /** This method will be used to move changed object from storage cache 29 * to the persistent part of storage. It writes the object`s state 30 * (set of attributes) in the stream as an array of bytes, for example 31 * in textual representation. 32 * @param outputStream OutputStream that holds value of a Streamable object 33 */ 34 public void write(java.io.OutputStream outputStream) throws StorageException; 35 /** Restore state of the Storable object from the stream. 36 * @param inputStream InputStream that represents an internal representation of fields of a Streamable object 37 * in which it was written by {@link write } method 38 */ 39 public void read(java.io.InputStream inputStream) throws StorageException; 40 } 41