Package org.eclipse.emf.cdo.server.db.evolution.phased

# Class DefaultChangeDetector

java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.emf.cdo.server.db.evolution.phased.BasicPhaseHandler
org.eclipse.emf.cdo.server.db.evolution.phased.DefaultChangeDetector

All Implemented Interfaces:
  `Phase.Handler`, `org.eclipse.net4j.util.event.INotifier`, `org.eclipse.net4j.util.event.INotifier.INotifier2`, `org.eclipse.net4j.util.lifecycle.IDeactivateable`, `org.eclipse.net4j.util.lifecycle.ILifecycle`, `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

public class DefaultChangeDetector extends BasicPhaseHandler
Detects model changes between the stored models and the currently registered EPackages.

If no model changes are detected, the model evolution process is aborted. If model changes are detected and the mode is set to `PhasedModelEvolutionSupport.Mode.Prevent`, an exception is thrown.

Since:
  4.14
Author:
  Eike Stepper
No Implement
  This package is currently considered provisional.
No Extend
  This package is currently considered provisional.
No Reference
  This package is currently considered provisional.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.net4j.util.event.Notifier

`org.eclipse.net4j.util.event.Notifier.Cancelation`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

`org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

## Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`FACTORY_TYPE`
The factory type of the default change detector.

### Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

`USE_LABEL`

### Fields inherited from interface org.eclipse.emf.cdo.server.db.evolution.phased.Phase.Handler

`PRODUCT_GROUP`

## Constructor Summary

Constructors
Constructor
Description
`DefaultChangeDetector()`
Creates a change detector.

## Method Summary

Modifier and Type
Method
Description
`void`
`execute(Context context)`
Detects model changes and registers the changed models in the context.
`protected Object`
`getChangeInfo(Context.Model model)`

### Methods inherited from class org.eclipse.emf.cdo.server.db.evolution.phased.BasicPhaseHandler

`doBeforeActivate, getPhase, setPhase`

### Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

`activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString`

### Methods inherited from class org.eclipse.net4j.util.event.Notifier

`addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

## Field Details

### FACTORY_TYPE

public static final String FACTORY_TYPE
The factory type of the default change detector.

See Also:
  - Constant Field Values

## Constructor Details

### DefaultChangeDetector

public DefaultChangeDetector()
Creates a change detector.

## Method Details

### execute

public void execute(Context context) throws Exception
Detects model changes and registers the changed models in the context.

Throws:
  `Exception`

### getChangeInfo

protected Object getChangeInfo(Context.Model model)