blob: c1615f2e25e138a5ee8b27d04c47acc81a91e208 (
plain) (
tree)
|
|
/***************************************************************************
* 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 - http://bugs.eclipse.org/233490
**************************************************************************/
package org.eclipse.emf.internal.cdo.protocol;
import org.eclipse.emf.cdo.common.CDODataInput;
import org.eclipse.emf.cdo.common.id.CDOIDObjectFactory;
import org.eclipse.emf.cdo.common.model.CDOPackageManager;
import org.eclipse.emf.cdo.common.model.CDOPackageURICompressor;
import org.eclipse.emf.cdo.common.revision.CDOListFactory;
import org.eclipse.emf.cdo.common.revision.CDORevisionResolver;
import org.eclipse.emf.cdo.internal.common.CDODataInputImpl;
import org.eclipse.emf.internal.cdo.CDORevisionManagerImpl;
import org.eclipse.emf.internal.cdo.CDOSessionImpl;
import org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl;
import org.eclipse.emf.internal.cdo.revision.CDOListReferenceProxyImpl;
import org.eclipse.net4j.signal.Indication;
import org.eclipse.net4j.util.io.ExtendedDataInputStream;
import java.io.IOException;
/**
* @author Eike Stepper
*/
public abstract class CDOClientIndication extends Indication
{
public CDOClientIndication()
{
}
@Override
public CDOClientProtocol getProtocol()
{
return (CDOClientProtocol)super.getProtocol();
}
protected CDOSessionImpl getSession()
{
return (CDOSessionImpl)getProtocol().getInfraStructure();
}
protected CDORevisionManagerImpl getRevisionManager()
{
return getSession().getRevisionManager();
}
protected CDOSessionPackageManagerImpl getPackageManager()
{
return getSession().getPackageManager();
}
protected CDOPackageURICompressor getPackageURICompressor()
{
return getSession();
}
protected CDOIDObjectFactory getIDFactory()
{
return getSession();
}
@Override
protected final void indicating(ExtendedDataInputStream in) throws IOException
{
indicating(new CDODataInputImpl(in)
{
@Override
protected CDORevisionResolver getRevisionResolver()
{
return CDOClientIndication.this.getRevisionManager();
}
@Override
protected CDOPackageManager getPackageManager()
{
return CDOClientIndication.this.getPackageManager();
}
@Override
protected CDOPackageURICompressor getPackageURICompressor()
{
return CDOClientIndication.this.getPackageURICompressor();
}
@Override
protected CDOIDObjectFactory getIDFactory()
{
return CDOClientIndication.this.getIDFactory();
}
@Override
protected CDOListFactory getListFactory()
{
return CDOListReferenceProxyImpl.FACTORY;
}
});
}
protected abstract void indicating(CDODataInput in) throws IOException;
}
|