org.eclipse.ocl.examples.impactanalyzer.impl
Class ImpactAnalyzerFactoryImpl

java.lang.Object
  extended by org.eclipse.ocl.examples.impactanalyzer.impl.ImpactAnalyzerFactoryImpl
All Implemented Interfaces:
ImpactAnalyzerFactory

public class ImpactAnalyzerFactoryImpl
extends java.lang.Object
implements ImpactAnalyzerFactory


Field Summary
 
Fields inherited from interface org.eclipse.ocl.examples.impactanalyzer.ImpactAnalyzerFactory
INSTANCE
 
Constructor Summary
ImpactAnalyzerFactoryImpl()
           
 
Method Summary
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg, ActivationOption configuration, OCLFactory oclFactory)
          Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg, OCLFactory oclFactory)
          Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg, OppositeEndFinder oppositeEndFinder, ActivationOption configuration, OCLFactory oclFactory)
          Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg, OppositeEndFinder oppositeEndFinder, OCLFactory oclFactory)
          Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property, ActivationOption configuration, OCLFactory oclFactory)
          Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property, OCLFactory oclFactory)
          Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property, OppositeEndFinder oppositeEndFinder, ActivationOption configuration, OCLFactory oclFactory)
          Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property, OppositeEndFinder oppositeEndFinder, OCLFactory oclFactory)
          Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, boolean notifyOnNewContextElements, ActivationOption configuration, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, boolean notifyOnNewContextElements, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, boolean notifyOnNewContextElements, OppositeEndFinder oppositeEndFinder, ActivationOption configuration, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, boolean notifyOnNewContextElements, OppositeEndFinder oppositeEndFinder, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, org.eclipse.emf.ecore.EClass context, boolean notifyOnNewContextElements, ActivationOption configuration, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified with an explicit context type specification.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, org.eclipse.emf.ecore.EClass context, boolean notifyOnNewContextElements, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified with an explicit context type specification.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, org.eclipse.emf.ecore.EClass context, boolean notifyOnNewContextElements, OppositeEndFinder oppositeEndFinder, ActivationOption configuration, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified with an explicit context type specification.
 ImpactAnalyzer createImpactAnalyzer(OCLExpression expression, org.eclipse.emf.ecore.EClass context, boolean notifyOnNewContextElements, OppositeEndFinder oppositeEndFinder, OCLFactory oclFactory)
          Constructs an impact analyzer for the expression specified with an explicit context type specification.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImpactAnalyzerFactoryImpl

public ImpactAnalyzerFactoryImpl()
Method Detail

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           boolean notifyOnNewContextElements,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified. The expression's context type is inferred from any occurrence of self in the expression. If no self occurrence can be found, an exception will be thrown. The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type and its subtypes or not. (Creation here means that the object is added to a resource in the ResourceSet observed by the EventManager used for handling change events.) Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           org.eclipse.emf.ecore.EClass context,
                                           boolean notifyOnNewContextElements,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified with an explicit context type specification. Use this factory method if expression does not contain any reference to self. The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type and its subtypes or not. (Creation here means that the object is added to a resource in the ResourceSet observed by the EventManager used for handling change events.) Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           org.eclipse.emf.ecore.EClass context,
                                           boolean notifyOnNewContextElements,
                                           OppositeEndFinder oppositeEndFinder,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified with an explicit context type specification. Use this factory method if expression does not contain any reference to self. The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type or not. Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.
oppositeEndFinder - used to perform OppositePropertyCallExp when evaluating (parts of) expression and for evaluating allInstances() calls

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           boolean notifyOnNewContextElements,
                                           OppositeEndFinder oppositeEndFinder,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified. The expression's context type is inferred from any occurrence of self in the expression. If no self occurrence can be found, an exception will be thrown. The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type or not. Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.
oppositeEndFinder - used to perform OppositePropertyCallExp when evaluating (parts of) expression and for evaluating allInstances() calls

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           boolean notifyOnNewContextElements,
                                           ActivationOption configuration,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified. The expression's context type is inferred from any occurrence of self in the expression. If no self occurrence can be found, an exception will be thrown.

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type or not. Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           org.eclipse.emf.ecore.EClass context,
                                           boolean notifyOnNewContextElements,
                                           ActivationOption configuration,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified with an explicit context type specification. Use this factory method if expression does not contain any reference to self.

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type or not. Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           org.eclipse.emf.ecore.EClass context,
                                           boolean notifyOnNewContextElements,
                                           OppositeEndFinder oppositeEndFinder,
                                           ActivationOption configuration,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified with an explicit context type specification. Use this factory method if expression does not contain any reference to self.

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type or not. Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.

createImpactAnalyzer

public ImpactAnalyzer createImpactAnalyzer(OCLExpression expression,
                                           boolean notifyOnNewContextElements,
                                           OppositeEndFinder oppositeEndFinder,
                                           ActivationOption configuration,
                                           OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs an impact analyzer for the expression specified. The expression's context type is inferred from any occurrence of self in the expression. If no self occurrence can be found, an exception will be thrown.

Specified by:
createImpactAnalyzer in interface ImpactAnalyzerFactory
notifyOnNewContextElements - The analyzer can be parameterized during construction such that it either registers for creation events on the context type or not. Registering for element creation on the context type is useful for invariants / constraints because when a new element is created, validating the constraint may be useful. For other use cases, registering for element creation may not be so useful. For example, when a type inferencer defines its rules using OCL, it only wants to receive update events after the element has been fully initialized from those OCL expressions. In those cases, some framework may be responsible for the initial evaluation of those OCL expressions on new element, and therefore, context element creation events are not of interest.

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

This variant uses a default opposite end finder for resolving and navigating OppositePropertyCallExp expressions. The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory
Parameters:
property - the derived property

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property,
                                                             ActivationOption configuration,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

This variant uses a default opposite end finder for resolving and navigating OppositePropertyCallExp expressions.

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory
Parameters:
property - the derived property

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property,
                                                             OppositeEndFinder oppositeEndFinder,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory
Parameters:
property - the derived property
oppositeEndFinder - used to perform OppositePropertyCallExp when evaluating (parts of) expression and for evaluating allInstances() calls

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EStructuralFeature property,
                                                             OppositeEndFinder oppositeEndFinder,
                                                             ActivationOption configuration,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for derived properties which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory
Parameters:
property - the derived property
oppositeEndFinder - used to perform OppositePropertyCallExp when evaluating (parts of) expression and for evaluating allInstances() calls

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

This variant uses a default opposite end finder for resolving and navigating OppositePropertyCallExp expressions. The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg,
                                                             ActivationOption configuration,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

This variant uses a default opposite end finder for resolving and navigating OppositePropertyCallExp expressions.

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg,
                                                             OppositeEndFinder oppositeEndFinder,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

The configuration is taken from the default OptimizationActivation.getOption().

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory
oppositeEndFinder - used to perform OppositePropertyCallExp when evaluating (parts of) expression and for evaluating allInstances() calls

createDerivedPropertyNotifier

public DerivedPropertyNotifier createDerivedPropertyNotifier(org.eclipse.emf.ecore.EPackage pkg,
                                                             OppositeEndFinder oppositeEndFinder,
                                                             ActivationOption configuration,
                                                             OCLFactory oclFactory)
Description copied from interface: ImpactAnalyzerFactory
Constructs a notifier for all derived properties in pkg which efficiently, based on an ImpactAnalyzer, constructs and emits Notifications for derived, OCL-specified properties.

Specified by:
createDerivedPropertyNotifier in interface ImpactAnalyzerFactory
oppositeEndFinder - used to perform OppositePropertyCallExp when evaluating (parts of) expression and for evaluating allInstances() calls