blob: 2c25147cb7252eee981b2657512f7a3e7a177efa [file] [log] [blame]
/***************************************************************************
* Copyright (c) 2004 - 2008 Eike Stepper, Germany.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eike Stepper - initial API and implementation
* Simon McDuff - maintenance
**************************************************************************/
package org.eclipse.emf.cdo.common;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
import org.eclipse.emf.cdo.common.id.CDOIDMetaRange;
import org.eclipse.emf.cdo.common.model.CDOClass;
import org.eclipse.emf.cdo.common.model.CDOClassRef;
import org.eclipse.emf.cdo.common.model.CDOFeature;
import org.eclipse.emf.cdo.common.model.CDOPackage;
import org.eclipse.emf.cdo.common.model.CDOType;
import org.eclipse.emf.cdo.common.revision.CDOList;
import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.common.revision.delta.CDOFeatureDelta;
import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta;
import org.eclipse.net4j.util.concurrent.RWLockManager;
import org.eclipse.net4j.util.io.ExtendedDataInput;
import java.io.IOException;
/**
* @author Eike Stepper
* @since 2.0
*/
public interface CDODataInput extends ExtendedDataInput
{
// /////////////////////////////////////////////////////////////////////////////////////////////////
public String readCDOPackageURI() throws IOException;
public CDOType readCDOType() throws IOException;
public CDOClassRef readCDOClassRef() throws IOException;
public CDOClass readCDOClassRefAndResolve() throws IOException;
public void readCDOPackage(CDOPackage cdoPackage) throws IOException;
public CDOPackage readCDOPackage() throws IOException;
public CDOClass readCDOClass(CDOPackage containingPackage) throws IOException;
public CDOFeature readCDOFeature(CDOClass containingClass) throws IOException;
// /////////////////////////////////////////////////////////////////////////////////////////////////
public CDOID readCDOID() throws IOException;
public CDOIDAndVersion readCDOIDAndVersion() throws IOException;
public CDOIDMetaRange readCDOIDMetaRange() throws IOException;
// /////////////////////////////////////////////////////////////////////////////////////////////////
public CDORevision readCDORevision() throws IOException;
public CDOList readCDOList(CDORevision revision, CDOFeature feature) throws IOException;
public CDORevisionDelta readCDORevisionDelta() throws IOException;
public CDOFeatureDelta readCDOFeatureDelta(CDOClass cdoClass) throws IOException;
/**
* Read either a CDORevision or a primitive value.
*/
public Object readCDORevisionOrPrimitive() throws IOException;
/**
* Read either a CDORevision, a primitive value or a CDOClass.
*/
public Object readCDORevisionOrPrimitiveOrClass() throws IOException;
// /////////////////////////////////////////////////////////////////////////////////////////////////
public RWLockManager.LockType readCDOLockType() throws IOException;
}