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