Package | Description |
---|---|
org.eclipse.emf.cdo | |
org.eclipse.emf.cdo.common.protocol |
Common concepts for dealing with protocols and CDO-specific I/O.
|
org.eclipse.emf.cdo.common.revision |
Common concepts for dealing with revisions and revision lists.
|
org.eclipse.emf.cdo.common.revision.delta |
Common concepts for dealing with revision deltas and feature deltas.
|
org.eclipse.emf.cdo.common.security |
Common concepts for dealing with permissions and protectable entities.
|
org.eclipse.emf.cdo.security |
The generated EMF API of the CDO security model.
|
org.eclipse.emf.cdo.security.impl |
The generated EMF implementation of the CDO security model.
|
org.eclipse.emf.cdo.server |
Server concepts for dealing with repositories and stores.
|
org.eclipse.emf.cdo.server.db |
Server concepts for dealing with DB stores and accessors.
|
org.eclipse.emf.cdo.server.ocl |
Server implementation of a generic OCL query handler.
|
org.eclipse.emf.cdo.session |
Client concepts for dealing with sessions to CDO repositories.
|
org.eclipse.emf.cdo.spi.common.commit |
Common service provider interfaces and useful base implementations for dealing with commits and change sets.
|
org.eclipse.emf.cdo.spi.common.protocol |
Common base implementations for dealing with I/O of CDO data structures.
|
org.eclipse.emf.cdo.spi.common.revision |
Common service provider interfaces and useful base implementations for dealing with revisions and deltas.
|
org.eclipse.emf.cdo.spi.server |
Server service provider interfaces and useful base implementations.
|
org.eclipse.emf.cdo.transaction |
Client concepts for dealing with transactions, distributed transactions and their save points.
|
org.eclipse.emf.cdo.util |
Client utility classes, some common interfaces and exceptions.
|
org.eclipse.emf.internal.cdo |
Exposes
CDOObjectImpl for extension in generated EMF models. |
org.eclipse.emf.spi.cdo |
Client service provider interfaces and useful base implementations.
|
Modifier and Type | Method and Description |
---|---|
CDORevision |
CDOObject.cdoRevision()
Returns the
revision of this object, or null if this object does currently not
have a revision. |
CDORevision |
CDOObject.cdoRevision(boolean loadOnDemand)
Returns the
revision of this object, or null if this object does currently not
have a revision and loadOnDemand is false . |
Modifier and Type | Method and Description |
---|---|
CDORevision |
CDODataInput.readCDORevision() |
CDORevision |
CDODataInput.readCDORevision(boolean freeze) |
Modifier and Type | Method and Description |
---|---|
void |
CDODataOutput.writeCDORevision(CDORevision revision,
int referenceChunk) |
void |
CDODataOutput.writeCDORevision(CDORevision revision,
int referenceChunk,
CDOBranchPoint securityContext) |
Modifier and Type | Method and Description |
---|---|
CDORevision |
CDORevision.copy() |
CDORevision |
CDORevisionFactory.createRevision(EClass eClass) |
static CDORevision |
CDORevisionUtil.getParentRevision(CDORevision revision,
CDORevisionProvider provider) |
CDORevision |
CDORevisionCache.EvictionEvent.getRevision()
May be
null for certain cache implementations. |
CDORevision |
CDORevisionProvider.getRevision(CDOID id) |
CDORevision |
CDORevisionCache.getRevision(CDOID id,
CDOBranchPoint branchPoint) |
CDORevision |
CDORevisionManager.getRevision(CDOID id,
CDOBranchPoint branchPoint,
int referenceChunk,
int prefetchDepth,
boolean loadOnDemand)
Returns the
revision with the given ID at the given branch
point (branch + timestamp), optionally demand loading it if it is not already in the cache . |
CDORevision |
CDORevisionCache.getRevisionByVersion(CDOID id,
CDOBranchVersion branchVersion) |
CDORevision |
CDORevisionManager.getRevisionByVersion(CDOID id,
CDOBranchVersion branchVersion,
int referenceChunk,
boolean loadOnDemand)
Returns the
revision with the given ID at the given branch version (branch + version), optionally demand loading it if it is not already in the
cache . |
CDORevision |
CDORevisionData.revision() |
Modifier and Type | Method and Description |
---|---|
List<? extends CDORevision> |
CDORevisionsLoadedEvent.getAdditionalLoadedRevisions() |
Map<CDOBranch,List<CDORevision>> |
CDOAllRevisionsProvider.getAllRevisions() |
static List<CDORevision> |
CDORevisionUtil.getChildRevisions(CDOID container,
CDORevisionProvider provider) |
static List<CDORevision> |
CDORevisionUtil.getChildRevisions(CDOID container,
CDORevisionProvider provider,
boolean onlyProperContents) |
static List<CDORevision> |
CDORevisionUtil.getChildRevisions(CDORevision container,
CDORevisionProvider provider) |
static List<CDORevision> |
CDORevisionUtil.getChildRevisions(CDORevision container,
CDORevisionProvider provider,
boolean onlyProperContents) |
List<CDORevision> |
CDORevisionCache.getCurrentRevisions()
Returns a list of
revisions that are current. |
Map<CDOBranch,List<CDORevision>> |
CDORevisionUtil.AllRevisionsDumper.getMap() |
List<? extends CDORevision> |
CDORevisionsLoadedEvent.getPrimaryLoadedRevisions() |
List<CDORevision> |
CDORevisionManager.getRevisions(List<CDOID> ids,
CDOBranchPoint branchPoint,
int referenceChunk,
int prefetchDepth,
boolean loadOnDemand)
Returns the
revisions with the given IDs at the given branch point (branch + timestamp), optionally demand loading them if they are not already in the
cache . |
Modifier and Type | Method and Description |
---|---|
void |
CDORevisionCacheAdder.addRevision(CDORevision revision)
Adds the given revision to this cache.
|
CDORevisionDelta |
CDORevision.compare(CDORevision origin) |
static CDORevisionDelta |
CDORevisionUtil.createDelta(CDORevision revision) |
protected abstract void |
CDORevisionUtil.AllRevisionsDumper.dumpRevision(CDORevision revision) |
protected void |
CDORevisionUtil.AllRevisionsDumper.Stream.Plain.dumpRevision(CDORevision revision) |
protected void |
CDORevisionUtil.AllRevisionsDumper.Stream.Html.dumpRevision(CDORevision revision) |
protected void |
CDORevisionUtil.AllRevisionsDumper.Stream.Html.dumpRevision(CDORevision revision,
PrintStream out) |
protected boolean |
CDORevisionHandler.Filtered.filter(CDORevision revision) |
protected boolean |
CDORevisionHandler.Filtered.Undetached.filter(CDORevision revision) |
static List<CDORevision> |
CDORevisionUtil.getChildRevisions(CDORevision container,
CDORevisionProvider provider) |
static List<CDORevision> |
CDORevisionUtil.getChildRevisions(CDORevision container,
CDORevisionProvider provider,
boolean onlyProperContents) |
static CDORevision |
CDORevisionUtil.getParentRevision(CDORevision revision,
CDORevisionProvider provider) |
static String |
CDORevisionUtil.getResourceNodePath(CDORevision revision,
CDORevisionProvider provider) |
static void |
CDORevisionUtil.handleParentRevisions(CDORevision revision,
CDORevisionProvider provider,
CDORevisionHandler handler) |
boolean |
CDORevisionHandler.handleRevision(CDORevision revision)
Handles a revision.
|
boolean |
CDORevisionHandler.Filtered.handleRevision(CDORevision revision) |
void |
CDOListResolver.resolveAllProxies(CDORevision revision,
EStructuralFeature feature)
Defines a strategy to be used when the collection needs to resolve all elements.
|
Object |
CDOListResolver.resolveProxy(CDORevision revision,
EStructuralFeature feature,
int accessIndex,
int serverIndex)
Defines a strategy to be used when the collection needs to resolve one element.
|
Modifier and Type | Method and Description |
---|---|
static String |
CDORevisionUtil.dumpAllRevisions(Map<CDOBranch,List<CDORevision>> map) |
static void |
CDORevisionUtil.dumpAllRevisions(Map<CDOBranch,List<CDORevision>> map,
PrintStream out) |
Constructor and Description |
---|
AllRevisionsDumper(Map<CDOBranch,List<CDORevision>> map) |
Html(Map<CDOBranch,List<CDORevision>> map,
PrintStream out) |
Plain(Map<CDOBranch,List<CDORevision>> map,
PrintStream out) |
Stream(Map<CDOBranch,List<CDORevision>> map,
PrintStream out) |
Modifier and Type | Method and Description |
---|---|
void |
CDOFeatureDelta.apply(CDORevision revision)
Deprecated.
As of 4.3 use
CDOFeatureDelta.applyTo(CDORevision) . |
void |
CDORevisionDelta.apply(CDORevision revision)
Deprecated.
As of 4.3 use
CDORevisionDelta.applyTo(CDORevision) . |
Object |
CDOFeatureDelta.applyTo(CDORevision revision) |
void |
CDORevisionDelta.applyTo(CDORevision revision)
Applies the
feature deltas in this revision delta to the data
of the given revision. |
Modifier and Type | Method and Description |
---|---|
CDOPermission |
CDOPermissionProvider.getPermission(CDORevision revision,
CDOBranchPoint securityContext) |
CDOPermission |
CDOPermissionProvider.Constant.getPermission(CDORevision revision,
CDOBranchPoint securityContext) |
Modifier and Type | Method and Description |
---|---|
boolean |
Permission.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext) |
boolean |
PermissionFilter.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
Modifier and Type | Method and Description |
---|---|
CDORevision[] |
PermissionImpl.CommitImpactContext.getDirtyObjects()
Returns the revisions of the changed objects of the current commit.
|
CDORevision[] |
PermissionImpl.CommitImpactContext.getNewObjects()
Returns the revisions of the new objects of the current commit.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
AndFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected boolean |
ClassFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected boolean |
LinkedFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected boolean |
NotFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected boolean |
ObjectFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected boolean |
OrFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected boolean |
PackageFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected abstract boolean |
PermissionFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
protected boolean |
ResourceFilterImpl.filter(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
boolean |
ClassPermissionImpl.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext)
Deprecated.
|
boolean |
FilterPermissionImpl.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext) |
boolean |
ObjectPermissionImpl.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext)
Deprecated.
|
boolean |
PackagePermissionImpl.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext)
Deprecated.
|
boolean |
ResourcePermissionImpl.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext)
Deprecated.
|
boolean |
PermissionFilterImpl.isApplicable(CDORevision revision,
CDORevisionProvider revisionProvider,
CDOBranchPoint securityContext,
int level) |
Modifier and Type | Method and Description |
---|---|
CDORevision |
IStoreChunkReader.getRevision() |
Modifier and Type | Method and Description |
---|---|
protected abstract Map<CDOBranch,List<CDORevision>> |
CDOServerBrowser.RevisionsPage.getAllRevisions(InternalRepository repository) |
protected Map<CDOBranch,List<CDORevision>> |
CDOServerBrowser.RevisionsPage.FromCache.getAllRevisions(InternalRepository repository) |
protected Map<CDOBranch,List<CDORevision>> |
CDOServerBrowser.RevisionsPage.FromStore.getAllRevisions(InternalRepository repository) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
CDOServerExporter.exportRevision(OUT out,
CDORevision revision) |
protected void |
CDOServerExporter.XML.exportRevision(XMLOutput out,
CDORevision revision) |
protected String |
CDOServerBrowser.RevisionsPage.getCDOIDLabel(CDORevision revision) |
CDOPermission |
IPermissionManager.getPermission(CDORevision revision,
CDOBranchPoint securityContext,
ISession session) |
CDOPermission |
IPermissionManager.getPermission(CDORevision revision,
CDOBranchPoint securityContext,
String userID)
Deprecated.
|
void |
CDOServerUtil.RepositoryReadAccessValidator.handleRevisionsBeforeSending(ISession session,
CDORevision[] revisions,
List<CDORevision> additionalRevisions) |
void |
IRepository.ReadAccessHandler.handleRevisionsBeforeSending(ISession session,
CDORevision[] revisions,
List<CDORevision> additionalRevisions)
Provides a way to handle revisions that are to be sent to the client.
|
protected abstract String |
CDOServerUtil.RepositoryReadAccessValidator.validate(ISession session,
CDORevision revision) |
Modifier and Type | Method and Description |
---|---|
protected Object |
CDOServerBrowser.RevisionsPage.getRevisionValue(Object value,
CDOServerBrowser browser,
Map<CDOID,List<CDORevision>> ids,
InternalCDORevision context) |
void |
CDOServerUtil.RepositoryReadAccessValidator.handleRevisionsBeforeSending(ISession session,
CDORevision[] revisions,
List<CDORevision> additionalRevisions) |
void |
IRepository.ReadAccessHandler.handleRevisionsBeforeSending(ISession session,
CDORevision[] revisions,
List<CDORevision> additionalRevisions)
Provides a way to handle revisions that are to be sent to the client.
|
protected void |
CDOServerBrowser.RevisionsPage.showRevision(PrintStream pout,
CDOServerBrowser browser,
Map<CDOBranch,List<CDORevision>> allRevisions,
Map<CDOID,List<CDORevision>> ids,
String key,
InternalRepository repository) |
protected void |
CDOServerBrowser.RevisionsPage.showRevision(PrintStream pout,
CDOServerBrowser browser,
Map<CDOBranch,List<CDORevision>> allRevisions,
Map<CDOID,List<CDORevision>> ids,
String key,
InternalRepository repository) |
protected void |
CDOServerBrowser.RevisionsPage.showRevision(PrintStream pout,
CDOServerBrowser browser,
Map<CDOID,List<CDORevision>> ids,
InternalCDORevision revision) |
Modifier and Type | Method and Description |
---|---|
CDOID |
IIDHandler.getNextCDOID(CDORevision revision) |
Modifier and Type | Method and Description |
---|---|
protected CDORevision |
OCLQueryHandler.getRevision(EObject object,
CDOView view) |
Modifier and Type | Method and Description |
---|---|
Map<CDORevision,CDOPermission> |
CDOSessionInvalidationEvent.getOldPermissions() |
Modifier and Type | Method and Description |
---|---|
CDORevision |
CDOChangeSetDataRevisionProvider.getRevision(CDOID id) |
CDORevision |
CDORevisionAvailabilityInfo.getRevision(CDOID id) |
Modifier and Type | Method and Description |
---|---|
CDORevision |
CDODataInputImpl.readCDORevision() |
CDORevision |
CDODataInputImpl.readCDORevision(boolean freeze) |
Modifier and Type | Method and Description |
---|---|
void |
CDODataOutputImpl.writeCDORevision(CDORevision revision,
int referenceChunk) |
void |
CDODataOutputImpl.writeCDORevision(CDORevision revision,
int referenceChunk,
CDOBranchPoint securityContext) |
Modifier and Type | Interface and Description |
---|---|
interface |
InternalCDORevision
If the meaning of this type isn't clear, there really should be more of a description here...
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractCDORevision
If the meaning of this type isn't clear, there really should be more of a description here...
|
class |
BaseCDORevision
If the meaning of this type isn't clear, there really should be more of a description here...
|
class |
DelegatingCDORevision
If the meaning of this type isn't clear, there really should be more of a description here...
|
class |
DetachedCDORevision
If the meaning of this type isn't clear, there really should be more of a description here...
|
class |
PointerCDORevision
|
class |
StubCDORevision
If the meaning of this type isn't clear, there really should be more of a description here...
|
class |
SyntheticCDORevision
A synthetic revision that represents the initial period of an object in a
branch when the object is
still associated with a revision from one of the baseline branches. |
Modifier and Type | Method and Description |
---|---|
CDORevision |
ManagedRevisionProvider.getRevision(CDOID id) |
CDORevision |
InternalCDORevisionCache.removeRevision(CDOID id,
CDOBranchVersion branchVersion) |
CDORevision |
AbstractCDORevision.revision() |
CDORevision |
DelegatingCDORevision.revision() |
Modifier and Type | Method and Description |
---|---|
List<CDORevision> |
InternalCDORevisionCache.getRevisions(CDOBranchPoint branchPoint) |
List<CDORevision> |
DelegatingCDORevisionManager.getRevisions(List<CDOID> ids,
CDOBranchPoint branchPoint,
int referenceChunk,
int prefetchDepth,
boolean loadOnDemand) |
List<CDORevision> |
DelegatingCDORevisionManager.getRevisions(List<CDOID> ids,
CDOBranchPoint branchPoint,
int referenceChunk,
int prefetchDepth,
boolean loadOnDemand,
SyntheticCDORevision[] synthetics) |
List<CDORevision> |
InternalCDORevisionManager.getRevisions(List<CDOID> ids,
CDOBranchPoint branchPoint,
int referenceChunk,
int prefetchDepth,
boolean loadOnDemand,
SyntheticCDORevision[] synthetics) |
Modifier and Type | Method and Description |
---|---|
void |
DelegatingCDORevisionManager.addRevision(CDORevision revision) |
InternalCDORevisionDelta |
BaseCDORevision.compare(CDORevision origin) |
InternalCDORevisionDelta |
DelegatingCDORevision.compare(CDORevision origin) |
InternalCDORevisionDelta |
InternalCDORevision.compare(CDORevision origin) |
InternalCDORevisionDelta |
StubCDORevision.compare(CDORevision origin) |
InternalCDORevisionCache |
InternalCDORevisionCache.instantiate(CDORevision revision) |
Modifier and Type | Method and Description |
---|---|
void |
RevisionInfo.processResult(InternalCDORevisionManager revisionManager,
List<CDORevision> results,
SyntheticCDORevision[] synthetics,
int i) |
void |
RevisionInfo.Available.Normal.processResult(InternalCDORevisionManager revisionManager,
List<CDORevision> results,
SyntheticCDORevision[] synthetics,
int i) |
void |
RevisionInfo.Available.Pointer.processResult(InternalCDORevisionManager revisionManager,
List<CDORevision> results,
SyntheticCDORevision[] synthetics,
int i) |
void |
RevisionInfo.Available.Detached.processResult(InternalCDORevisionManager revisionManager,
List<CDORevision> results,
SyntheticCDORevision[] synthetics,
int i) |
Modifier and Type | Method and Description |
---|---|
CDORevision |
StoreChunkReader.getRevision() |
Modifier and Type | Method and Description |
---|---|
protected CDOID |
LongIDStoreAccessor.getNextCDOID(CDORevision revision) |
protected abstract CDOID |
StoreAccessorBase.getNextCDOID(CDORevision revision) |
CDOID |
LongIDStore.getNextCDOID(LongIDStoreAccessor accessor,
CDORevision revision) |
boolean |
StoreAccessorBase.CommitDataRevisionHandler.handleRevision(CDORevision rev) |
void |
InternalRepository.notifyReadAccessHandlers(InternalSession session,
CDORevision[] revisions,
List<CDORevision> additionalRevisions) |
Modifier and Type | Method and Description |
---|---|
void |
InternalSession.collectContainedRevisions(InternalCDORevision revision,
CDOBranchPoint branchPoint,
int referenceChunk,
Set<CDOID> revisions,
List<CDORevision> additionalRevisions) |
void |
InternalRepository.notifyReadAccessHandlers(InternalSession session,
CDORevision[] revisions,
List<CDORevision> additionalRevisions) |
Constructor and Description |
---|
StoreChunkReader(IStoreAccessor accessor,
CDORevision revision,
EStructuralFeature feature) |
Modifier and Type | Method and Description |
---|---|
CDORevision |
CDOPushTransaction.getRevision(CDOID id) |
Modifier and Type | Method and Description |
---|---|
Map<CDOID,CDORevision> |
CDOSavepoint.getAllBaseNewObjects() |
Map<CDOID,CDORevision> |
CDOSavepoint.getBaseNewObjects() |
Modifier and Type | Method and Description |
---|---|
boolean |
CDOUndoDetector.detectUndo(CDOTransaction transaction,
CDORevision cleanRevision,
CDORevision currentRevision,
CDOFeatureDelta featureDelta) |
Modifier and Type | Method and Description |
---|---|
void |
CDOConflictResolver2.resolveConflicts(Map<CDOObject,Pair<CDORevision,CDORevisionDelta>> conflicts,
List<CDORevisionDelta> allRemoteDeltas)
Resolves conflicts after remote invalidations arrived for objects that are locally dirty or detached.
|
Modifier and Type | Method and Description |
---|---|
static CDORevision |
CDOUtil.getRevisionByVersion(CDOObject object,
CDOBranch branch,
int version) |
static CDORevision |
CDOUtil.getRevisionByVersion(CDOObject object,
int version) |
Modifier and Type | Method and Description |
---|---|
void |
CDOObjectImpl.cdoInternalSetRevision(CDORevision revision) |
Modifier and Type | Method and Description |
---|---|
Map<CDORevision,CDOPermission> |
CDOSessionProtocol.loadPermissions(InternalCDORevision[] revisions) |
Map<CDORevision,CDOPermission> |
CDOPermissionUpdater.updatePermissions(InternalCDOSession session,
Set<InternalCDORevision> revisions) |
Modifier and Type | Method and Description |
---|---|
protected Object |
DefaultCDOMerger.addedInSource(CDORevision revision) |
protected Object |
DefaultCDOMerger.addedInSourceAndTarget(CDORevision targetRevision,
CDORevision sourceRevision) |
protected Object |
DefaultCDOMerger.addedInTarget(CDORevision revision) |
void |
InternalCDOObject.cdoInternalSetRevision(CDORevision revision) |
void |
InternalCDOSession.resolveAllElementProxies(CDORevision revision) |
protected void |
AbstractObjectConflictResolver.resolveConflict(CDOObject conflict,
CDORevision oldRemoteRevision,
CDORevisionDelta localDelta,
CDORevisionDelta remoteDelta,
List<CDORevisionDelta> allRemoteDeltas)
Resolves the conflict of a single object in the current transaction.
|
protected void |
AbstractObjectConflictResolver.ThreeWayMerge.resolveConflict(CDOObject conflict,
CDORevision oldRemoteRevision,
CDORevisionDelta localDelta,
CDORevisionDelta remoteDelta,
List<CDORevisionDelta> allRemoteDeltas) |
Object |
InternalCDOSession.resolveElementProxy(CDORevision revision,
EStructuralFeature feature,
int accessIndex,
int serverIndex) |
Modifier and Type | Method and Description |
---|---|
void |
AbstractObjectConflictResolver.resolveConflicts(Map<CDOObject,Pair<CDORevision,CDORevisionDelta>> conflicts,
List<CDORevisionDelta> allRemoteDeltas) |
void |
AbstractObjectConflictResolver.TakeRemoteChangesThenApplyLocalChanges.resolveConflicts(Map<CDOObject,Pair<CDORevision,CDORevisionDelta>> conflicts,
List<CDORevisionDelta> allRemoteDeltas)
Deprecated.
|
Copyright (c) 2011-2015 Eike Stepper (Berlin, Germany) and others.