public class EcoreOCLEValidator
extends java.lang.Object
implements org.eclipse.emf.ecore.EValidator
Typically used with a Diagnostician as:
EValidatorRegistryImpl registry = new EValidatorRegistryImpl(); registry.put(EcorePackage.eINSTANCE, EcoreOCLEValidator.INSTANCE); Diagnostician diagnostician = new Diagnostician(registry); Diagnostic diagnostic = dignostician.validate(eObject, validationContext);
Modifier and Type | Class and Description |
---|---|
static class |
EcoreOCLEValidator.ConstraintEvaluatorWithDiagnostics
ConstraintEvaluatorWithoutDiagnostics provides the richer ConstraintEvaluator support for
use when diagnostics are required.
|
static class |
EcoreOCLEValidator.ConstraintEvaluatorWithoutDiagnostics
ConstraintEvaluatorWithoutDiagnostics provides the minimal ConstraintEvaluator support for
use when no diagnostics are required.
|
protected static class |
EcoreOCLEValidator.WeakOCLReference
WeakOCLReference maintains the reference to the OCL context within the Diagnostician context and
disposes of it once the Diagnostician is done.
|
org.eclipse.emf.ecore.EValidator.Descriptor, org.eclipse.emf.ecore.EValidator.PatternMatcher, org.eclipse.emf.ecore.EValidator.Registry, org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider, org.eclipse.emf.ecore.EValidator.ValidationDelegate
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DOUBLE_PROPERTY_KEY |
static java.lang.String |
EXTRA_CONSTRAINTS_ANNOTATION_ENTRY |
static java.lang.String |
EXTRA_PROPERTY_KEY |
static java.lang.String |
INCOMPATIBLE_TYPE_1 |
static java.lang.String |
INCOMPATIBLE_TYPE_2 |
static EcoreOCLEValidator |
INSTANCE |
protected boolean |
mayUseNewLines |
static java.lang.String |
MISSING_CONSTRAINTS |
static java.lang.String |
MISSING_CONSTRAINTS_ANNOTATION_ENTRY |
static java.lang.String |
MISSING_DELEGATE |
static java.lang.String |
MISSING_PROPERTY_KEY |
static EcoreOCLEValidator |
NO_NEW_LINES |
static java.lang.String |
NULL_EXPRESSION |
static java.lang.String |
NULL_PROPERTY_KEY |
static java.lang.String |
PARSING_ERROR_1 |
static java.lang.String |
PARSING_ERROR_2 |
static java.lang.String |
UNKNOWN_DETAIL |
static TracingOption |
VALIDATE_INSTANCE |
static TracingOption |
VALIDATE_OPAQUE_ELEMENT |
Constructor and Description |
---|
EcoreOCLEValidator(boolean mayUseNewLines) |
Modifier and Type | Method and Description |
---|---|
protected static void |
gatherTypes(java.util.Set<Class> allTypes,
java.util.Set<Constraint> allConstraints,
Class newType) |
protected OCLInternal |
getOCL(java.util.Map<java.lang.Object,java.lang.Object> context)
Return the OCL context for the validation, caching the created value in the validation context for re-use by
further validations.
|
protected boolean |
isOCL(java.util.List<java.lang.String> someDelegates) |
boolean |
validate(org.eclipse.emf.ecore.EClass eClass,
org.eclipse.emf.ecore.EObject eObject,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
boolean |
validate(org.eclipse.emf.ecore.EDataType eDataType,
java.lang.Object value,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
boolean |
validate(org.eclipse.emf.ecore.EObject eObject,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
protected boolean |
validateEClassifier(org.eclipse.emf.ecore.EClassifier eClassifier,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
protected boolean |
validateEOperation(org.eclipse.emf.ecore.EOperation eOperation,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
protected boolean |
validateEPackage(org.eclipse.emf.ecore.EPackage ePackage,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
protected boolean |
validateEStructuralFeature(org.eclipse.emf.ecore.EStructuralFeature eStructuralFeature,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
protected boolean |
validateExpression(MetamodelManagerInternal metamodelManager,
org.eclipse.emf.ecore.ENamedElement eNamedElement,
java.lang.String expression,
Type requiredType,
java.lang.String role,
org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context) |
public static final java.lang.String UNKNOWN_DETAIL
public static final java.lang.String MISSING_DELEGATE
public static final java.lang.String EXTRA_CONSTRAINTS_ANNOTATION_ENTRY
public static final java.lang.String MISSING_CONSTRAINTS_ANNOTATION_ENTRY
public static final java.lang.String MISSING_CONSTRAINTS
public static final java.lang.String PARSING_ERROR_2
public static final java.lang.String PARSING_ERROR_1
public static final java.lang.String INCOMPATIBLE_TYPE_2
public static final java.lang.String INCOMPATIBLE_TYPE_1
public static final java.lang.String NULL_EXPRESSION
public static final java.lang.String NULL_PROPERTY_KEY
public static final java.lang.String EXTRA_PROPERTY_KEY
public static final java.lang.String DOUBLE_PROPERTY_KEY
public static final java.lang.String MISSING_PROPERTY_KEY
@NonNull public static final EcoreOCLEValidator INSTANCE
@NonNull public static final EcoreOCLEValidator NO_NEW_LINES
@NonNull public static final TracingOption VALIDATE_INSTANCE
@NonNull public static final TracingOption VALIDATE_OPAQUE_ELEMENT
protected final boolean mayUseNewLines
protected static void gatherTypes(@NonNull java.util.Set<Class> allTypes, @NonNull java.util.Set<Constraint> allConstraints, Class newType)
protected OCLInternal getOCL(@NonNull java.util.Map<java.lang.Object,java.lang.Object> context)
protected boolean isOCL(java.util.List<java.lang.String> someDelegates)
public boolean validate(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
validate
in interface org.eclipse.emf.ecore.EValidator
public boolean validate(org.eclipse.emf.ecore.EClass eClass, org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
validate
in interface org.eclipse.emf.ecore.EValidator
public boolean validate(org.eclipse.emf.ecore.EDataType eDataType, java.lang.Object value, org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
validate
in interface org.eclipse.emf.ecore.EValidator
protected boolean validateEClassifier(@NonNull org.eclipse.emf.ecore.EClassifier eClassifier, org.eclipse.emf.common.util.DiagnosticChain diagnostics, @NonNull java.util.Map<java.lang.Object,java.lang.Object> context)
protected boolean validateEPackage(@NonNull org.eclipse.emf.ecore.EPackage ePackage, org.eclipse.emf.common.util.DiagnosticChain diagnostics, @NonNull java.util.Map<java.lang.Object,java.lang.Object> context)
protected boolean validateEOperation(@NonNull org.eclipse.emf.ecore.EOperation eOperation, org.eclipse.emf.common.util.DiagnosticChain diagnostics, @NonNull java.util.Map<java.lang.Object,java.lang.Object> context)
protected boolean validateEStructuralFeature(@NonNull org.eclipse.emf.ecore.EStructuralFeature eStructuralFeature, org.eclipse.emf.common.util.DiagnosticChain diagnostics, @NonNull java.util.Map<java.lang.Object,java.lang.Object> context)
protected boolean validateExpression(@NonNull MetamodelManagerInternal metamodelManager, @NonNull org.eclipse.emf.ecore.ENamedElement eNamedElement, @Nullable java.lang.String expression, @Nullable Type requiredType, @Nullable java.lang.String role, org.eclipse.emf.common.util.DiagnosticChain diagnostics, @NonNull java.util.Map<java.lang.Object,java.lang.Object> context)