1 2 /* 3 * Copyright (c) 1998 - 2005 Versant Corporation 4 * All rights reserved. This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License v1.0 6 * which accompanies this distribution, and is available at 7 * http://www.eclipse.org/legal/epl-v10.html 8 * 9 * Contributors: 10 * Versant Corporation - initial API and implementation 11 */ 12 package com.versant.core.util; 13 14 import com.versant.core.common.OID; 15 16 import java.io.ObjectOutput; 17 import java.io.IOException; 18 19 /** 20 * ObjectOutput with special support for writing out OIDs. 21 */ 22 public interface OIDObjectOutput extends ObjectOutput { 23 24 /** 25 * Write out the OID with enough information so it can be read back with 26 * readOID without any supplied ClassMetaData. 27 */ 28 public void write(OID oid) throws IOException; 29 30 /** 31 * Write out the OID. If it is a NewObjectOID then the corresponding 32 * {@link OIDObjectInput#readOID(com.versant.core.metadata.ClassMetaData)} 33 * call will make sure extra instances are not created. 34 */ 35 public void writeWithoutCMD(OID oid) throws IOException; 36 } 37 38