org.eclipse.ocl.examples.pivot.utilities
Class PivotUtil

java.lang.Object
  extended by org.eclipse.ocl.examples.pivot.utilities.PivotUtil

public class PivotUtil
extends java.lang.Object


Nested Class Summary
static class PivotUtil.PrecedenceComparator
          'Highest' precedence first
static class PivotUtil.TemplateParameterSubstitutionComparator
          In TemplateSignature order.
 
Field Summary
static java.lang.String SCHEME_PIVOT
           
 
Constructor Summary
PivotUtil()
           
 
Method Summary
static void appendMultiplicity(java.lang.StringBuffer s, int lower, int upper)
           
static void checkResourceErrors(java.lang.String message, org.eclipse.emf.ecore.resource.Resource resource)
           
static boolean conformsTo(org.eclipse.emf.ecore.EStructuralFeature eStructuralFeature, org.eclipse.emf.ecore.EClassifier contentType)
           
static java.lang.String convertFromOCLString(java.lang.String javaString)
          Mostly copied from Properties.loadConvert(char[], int, int, char[]) via Strings.convertFromJavaString(java.lang.String, boolean)
static java.lang.String convertToOCLString(java.lang.String theString)
          Mostly copied from Properties.saveConvert(java.lang.String, boolean, boolean) via Strings.convertToJavaString(java.lang.String)
static org.eclipse.emf.ecore.resource.Resource createXtextResource(TypeManager typeManager, org.eclipse.emf.common.util.URI uri, NamedElement typeContext, java.lang.String expression)
          Create an Xtext resource containing the parsed expression within a typeContext and supervised by a typeManager.
static Type findTypeOf(TypeManager typeManager, org.eclipse.emf.ecore.EClassifier eClass)
           
static java.lang.String formatResourceDiagnostics(java.util.List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> diagnostics, java.lang.String messagePrefix, java.lang.String newLine)
           
static
<T> T
getAdapter(java.lang.Class<T> adapterClass, java.util.List<org.eclipse.emf.common.notify.Adapter> eAdapters)
           
static
<T> T
getAdapter(java.lang.Class<T> adapterClass, java.util.List<org.eclipse.emf.common.notify.Adapter> eAdapters, java.lang.Object adapterType)
           
static
<T> T
getAdapter(java.lang.Class<T> adapterClass, org.eclipse.emf.common.notify.Notifier notifier)
           
static
<T> T
getAdapter(java.lang.Class<T> adapterClass, org.eclipse.emf.common.notify.Notifier notifier, java.lang.Object adapterType)
           
static java.util.List<java.util.List<TemplateParameter>> getAllTemplateParameterLists(org.eclipse.emf.ecore.EObject eObject)
           
static java.util.List<TemplateParameter> getAllTemplateParameters(java.util.Collection<TemplateBinding> templateBindings)
           
static java.util.List<TemplateParameter> getAllTemplateParameters(org.eclipse.emf.ecore.EObject eObject)
           
static java.util.Map<TemplateParameter,ParameterableElement> getAllTemplateParametersAsBindings(org.eclipse.emf.ecore.EObject eObject)
           
static java.util.Map<TemplateParameter,ParameterableElement> getAllTemplateParameterSubstitutions(java.util.Map<TemplateParameter,ParameterableElement> map, TemplateableElement templateableElement)
           
static java.util.Map<TemplateParameter,ParameterableElement> getAllTemplateParameterSubstitutions(java.util.Map<TemplateParameter,ParameterableElement> bindings, Type argumentType, LambdaType lambdaType)
           
static Type getBehavioralType(Type type)
           
static java.lang.String getBody(OpaqueExpression specification)
           
static CollectionKind getCollectionKind(CollectionType collectionType)
           
static ExpressionInOcl getExpressionInOcl(org.eclipse.emf.ecore.resource.Resource resource)
           
static Class getFeaturingClass(Feature feature)
           
static java.lang.String getLabel(org.eclipse.emf.ecore.EObject eObject)
           
static java.lang.String getMessage(OpaqueExpression specification)
           
static
<T extends NamedElement>
T
getNamedElement(java.lang.Iterable<T> elements, java.lang.String name)
           
static org.eclipse.emf.common.util.URI getNonPivotURI(org.eclipse.emf.common.util.URI uri)
           
static Package getPackage(org.eclipse.emf.ecore.EObject object)
           
static
<T extends Element>
T
getPivot(java.lang.Class<T> pivotClass, Pivotable pivotableElement)
           
static org.eclipse.emf.common.util.URI getPivotURI(org.eclipse.emf.common.util.URI uri)
           
static Feature getReferredFeature(CallExp callExp)
           
static Operation getReferredOperation(CallExp callExp)
           
static java.util.List<ParameterableElement> getTemplateParameterables(TemplateableElement templateableElement)
           
static java.util.List<TemplateParameter> getTemplateParameters(TemplateableElement templateableElement)
           
static TypeManager getTypeManager(org.eclipse.emf.ecore.resource.Resource resource)
           
static java.util.List<Type> getTypeTemplateParameterables(TemplateableElement templateableElement)
           
static
<T extends TemplateableElement>
T
getUnspecializedTemplateableElement(T templateableElement)
           
static boolean isPivotURI(org.eclipse.emf.common.util.URI uri)
           
static boolean isValidIdentifier(java.lang.String value)
           
static
<T extends org.eclipse.emf.ecore.EObject>
void
refreshList(java.util.List<? super T> elements, java.util.List<? extends T> newElements)
           
static
<T extends org.eclipse.emf.ecore.EObject>
void
refreshSet(java.util.List<? super T> oldElements, java.util.Collection<? extends T> newElements)
           
static ExpressionInOcl resolveMessage(TypeManager typeManager, org.eclipse.emf.common.util.URI uri, ExpressionInOcl specification, java.lang.String expression)
           
static ExpressionInOcl resolveSpecification(TypeManager typeManager, org.eclipse.emf.common.util.URI uri, NamedElement contextClassifier, java.lang.String expression)
           
static
<T extends MonikeredElement>
java.util.List<T>
sortByMoniker(java.util.List<T> list)
           
static char toHex(int nibble)
          Copied from Properties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SCHEME_PIVOT

public static final java.lang.String SCHEME_PIVOT
See Also:
Constant Field Values
Constructor Detail

PivotUtil

public PivotUtil()
Method Detail

appendMultiplicity

public static void appendMultiplicity(java.lang.StringBuffer s,
                                      int lower,
                                      int upper)

checkResourceErrors

public static void checkResourceErrors(java.lang.String message,
                                       org.eclipse.emf.ecore.resource.Resource resource)
                                throws ParserException
Throws:
ParserException

conformsTo

public static boolean conformsTo(org.eclipse.emf.ecore.EStructuralFeature eStructuralFeature,
                                 org.eclipse.emf.ecore.EClassifier contentType)

convertFromOCLString

public static java.lang.String convertFromOCLString(java.lang.String javaString)
Mostly copied from Properties.loadConvert(char[], int, int, char[]) via Strings.convertFromJavaString(java.lang.String, boolean)


convertToOCLString

public static java.lang.String convertToOCLString(java.lang.String theString)
Mostly copied from Properties.saveConvert(java.lang.String, boolean, boolean) via Strings.convertToJavaString(java.lang.String)


createXtextResource

public static org.eclipse.emf.ecore.resource.Resource createXtextResource(TypeManager typeManager,
                                                                          org.eclipse.emf.common.util.URI uri,
                                                                          NamedElement typeContext,
                                                                          java.lang.String expression)
                                                                   throws java.io.IOException
Create an Xtext resource containing the parsed expression within a typeContext and supervised by a typeManager. Provided an EssentialOCL resource registration has been made the created resource named internal.essentialocl may be cast to an XtextResource. Semantic errors may be found at the Resource.errors and may be converted to ParseExceptions by invoking checkResourceErrors.

Parameters:
typeManager - the overall type / meta-model domain
typeContext - the type that provides the scope of expression
expression - to be parsed
Returns:
the Xtext resource which may be cast to XtextResource
Throws:
java.io.IOException - if resource loading fails

findTypeOf

public static Type findTypeOf(TypeManager typeManager,
                              org.eclipse.emf.ecore.EClassifier eClass)

formatResourceDiagnostics

public static java.lang.String formatResourceDiagnostics(java.util.List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> diagnostics,
                                                         java.lang.String messagePrefix,
                                                         java.lang.String newLine)

getAdapter

public static <T> T getAdapter(java.lang.Class<T> adapterClass,
                               java.util.List<org.eclipse.emf.common.notify.Adapter> eAdapters)

getAdapter

public static <T> T getAdapter(java.lang.Class<T> adapterClass,
                               org.eclipse.emf.common.notify.Notifier notifier)

getAdapter

public static <T> T getAdapter(java.lang.Class<T> adapterClass,
                               org.eclipse.emf.common.notify.Notifier notifier,
                               java.lang.Object adapterType)

getAdapter

public static <T> T getAdapter(java.lang.Class<T> adapterClass,
                               java.util.List<org.eclipse.emf.common.notify.Adapter> eAdapters,
                               java.lang.Object adapterType)

getAllTemplateParameters

public static java.util.List<TemplateParameter> getAllTemplateParameters(java.util.Collection<TemplateBinding> templateBindings)

getAllTemplateParameterLists

public static java.util.List<java.util.List<TemplateParameter>> getAllTemplateParameterLists(org.eclipse.emf.ecore.EObject eObject)

getAllTemplateParameters

public static java.util.List<TemplateParameter> getAllTemplateParameters(org.eclipse.emf.ecore.EObject eObject)

getAllTemplateParametersAsBindings

public static java.util.Map<TemplateParameter,ParameterableElement> getAllTemplateParametersAsBindings(org.eclipse.emf.ecore.EObject eObject)

getAllTemplateParameterSubstitutions

public static java.util.Map<TemplateParameter,ParameterableElement> getAllTemplateParameterSubstitutions(java.util.Map<TemplateParameter,ParameterableElement> map,
                                                                                                         TemplateableElement templateableElement)

getAllTemplateParameterSubstitutions

public static java.util.Map<TemplateParameter,ParameterableElement> getAllTemplateParameterSubstitutions(java.util.Map<TemplateParameter,ParameterableElement> bindings,
                                                                                                         Type argumentType,
                                                                                                         LambdaType lambdaType)

getBehavioralType

public static Type getBehavioralType(Type type)

getBody

public static java.lang.String getBody(OpaqueExpression specification)

getCollectionKind

public static CollectionKind getCollectionKind(CollectionType collectionType)

getFeaturingClass

public static Class getFeaturingClass(Feature feature)

getNamedElement

public static <T extends NamedElement> T getNamedElement(java.lang.Iterable<T> elements,
                                                         java.lang.String name)

getPackage

public static Package getPackage(org.eclipse.emf.ecore.EObject object)

getLabel

public static java.lang.String getLabel(org.eclipse.emf.ecore.EObject eObject)

getMessage

public static java.lang.String getMessage(OpaqueExpression specification)

getPivot

public static <T extends Element> T getPivot(java.lang.Class<T> pivotClass,
                                             Pivotable pivotableElement)

getNonPivotURI

public static org.eclipse.emf.common.util.URI getNonPivotURI(org.eclipse.emf.common.util.URI uri)

getPivotURI

public static org.eclipse.emf.common.util.URI getPivotURI(org.eclipse.emf.common.util.URI uri)

getReferredFeature

public static Feature getReferredFeature(CallExp callExp)

getReferredOperation

public static Operation getReferredOperation(CallExp callExp)

getTemplateParameters

public static java.util.List<TemplateParameter> getTemplateParameters(TemplateableElement templateableElement)

getTemplateParameterables

public static java.util.List<ParameterableElement> getTemplateParameterables(TemplateableElement templateableElement)

getTypeManager

public static TypeManager getTypeManager(org.eclipse.emf.ecore.resource.Resource resource)

getTypeTemplateParameterables

public static java.util.List<Type> getTypeTemplateParameterables(TemplateableElement templateableElement)

getUnspecializedTemplateableElement

public static <T extends TemplateableElement> T getUnspecializedTemplateableElement(T templateableElement)

isPivotURI

public static boolean isPivotURI(org.eclipse.emf.common.util.URI uri)

isValidIdentifier

public static boolean isValidIdentifier(java.lang.String value)

refreshList

public static <T extends org.eclipse.emf.ecore.EObject> void refreshList(java.util.List<? super T> elements,
                                                                         java.util.List<? extends T> newElements)

refreshSet

public static <T extends org.eclipse.emf.ecore.EObject> void refreshSet(java.util.List<? super T> oldElements,
                                                                        java.util.Collection<? extends T> newElements)

resolveSpecification

public static ExpressionInOcl resolveSpecification(TypeManager typeManager,
                                                   org.eclipse.emf.common.util.URI uri,
                                                   NamedElement contextClassifier,
                                                   java.lang.String expression)
                                            throws ParserException
Throws:
ParserException

resolveMessage

public static ExpressionInOcl resolveMessage(TypeManager typeManager,
                                             org.eclipse.emf.common.util.URI uri,
                                             ExpressionInOcl specification,
                                             java.lang.String expression)
                                      throws ParserException
Throws:
ParserException

getExpressionInOcl

public static ExpressionInOcl getExpressionInOcl(org.eclipse.emf.ecore.resource.Resource resource)
                                          throws ParserException
Throws:
ParserException

sortByMoniker

public static <T extends MonikeredElement> java.util.List<T> sortByMoniker(java.util.List<T> list)

toHex

public static char toHex(int nibble)
Copied from Properties