org.eclipse.xtext.serializer.analysis
Class GrammarConstraintProvider.Constraint

java.lang.Object
  extended by org.eclipse.xtext.serializer.analysis.GrammarConstraintProvider.Constraint
All Implemented Interfaces:
java.lang.Comparable<IGrammarConstraintProvider.IConstraint>, IGrammarConstraintProvider.IConstraint
Direct Known Subclasses:
GrammarConstraintProvider.ActionConstraint, GrammarConstraintProvider.RuleConstraint
Enclosing class:
GrammarConstraintProvider

protected abstract static class GrammarConstraintProvider.Constraint
extends java.lang.Object
implements IGrammarConstraintProvider.IConstraint


Field Summary
protected  IGrammarConstraintProvider.IConstraintElement[] assignments
           
protected  GrammarConstraintProvider.ConstraintElement body
           
protected  IGrammarConstraintProvider.IConstraintElement[] elements
           
protected  IGrammarConstraintProvider.IFeatureInfo[] features
           
protected  java.lang.String name
           
protected  GrammarConstraintProvider provider
           
protected  org.eclipse.emf.ecore.EObject specificContext
           
protected  org.eclipse.emf.ecore.EClass type
           
 
Constructor Summary
GrammarConstraintProvider.Constraint(org.eclipse.emf.ecore.EClass type, GrammarConstraintProvider.ConstraintElement body, GrammarConstraintProvider provider)
           
 
Method Summary
protected  void collectElements(GrammarConstraintProvider.ConstraintElement ele, java.util.List<IGrammarConstraintProvider.IConstraintElement> elements, java.util.List<IGrammarConstraintProvider.IConstraintElement> assignments, java.util.List<IGrammarConstraintProvider.IConstraintElement>[] assignmentsByFeature)
           
 int compareTo(IGrammarConstraintProvider.IConstraint o)
           
 boolean equals(java.lang.Object obj)
           
 IGrammarConstraintProvider.IConstraintElement[] getAssignments()
           
 IGrammarConstraintProvider.IConstraintElement getBody()
           
protected  java.lang.Object getCacheKey()
           
 IGrammarConstraintProvider.IConstraintElement[] getElements()
           
 IGrammarConstraintProvider.IFeatureInfo[] getFeatures()
           
protected abstract  org.eclipse.emf.ecore.EObject getMostSpecificContext()
           
 java.lang.Iterable<IGrammarConstraintProvider.IFeatureInfo> getMultiAssignementFeatures()
           
 java.lang.String getName()
           
 java.lang.String getSimpleName()
           
 java.lang.Iterable<IGrammarConstraintProvider.IFeatureInfo> getSingleAssignementFeatures()
           
 org.eclipse.emf.ecore.EClass getType()
           
 int hashCode()
           
protected  void initLists()
           
protected  void setName(java.lang.String name)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

assignments

protected IGrammarConstraintProvider.IConstraintElement[] assignments

body

protected GrammarConstraintProvider.ConstraintElement body

provider

protected GrammarConstraintProvider provider

elements

protected IGrammarConstraintProvider.IConstraintElement[] elements

features

protected IGrammarConstraintProvider.IFeatureInfo[] features

name

protected java.lang.String name

specificContext

protected org.eclipse.emf.ecore.EObject specificContext

type

protected org.eclipse.emf.ecore.EClass type
Constructor Detail

GrammarConstraintProvider.Constraint

public GrammarConstraintProvider.Constraint(org.eclipse.emf.ecore.EClass type,
                                            GrammarConstraintProvider.ConstraintElement body,
                                            GrammarConstraintProvider provider)
Method Detail

collectElements

protected void collectElements(GrammarConstraintProvider.ConstraintElement ele,
                               java.util.List<IGrammarConstraintProvider.IConstraintElement> elements,
                               java.util.List<IGrammarConstraintProvider.IConstraintElement> assignments,
                               java.util.List<IGrammarConstraintProvider.IConstraintElement>[] assignmentsByFeature)

compareTo

public int compareTo(IGrammarConstraintProvider.IConstraint o)
Specified by:
compareTo in interface java.lang.Comparable<IGrammarConstraintProvider.IConstraint>

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

getAssignments

public IGrammarConstraintProvider.IConstraintElement[] getAssignments()
Specified by:
getAssignments in interface IGrammarConstraintProvider.IConstraint
Returns:
a list of all assignments represented by this constraint. IGrammarConstraintProvider.IConstraintElement.getAssignmentID() returns an Assignment's index in this list. The order of the list reflects the order of the assignments in the constraint. Assignments are IGrammarConstraintProvider.IConstraintElements with IGrammarConstraintProvider.IConstraintElement.getType() == ASSIGNED_*

getBody

public IGrammarConstraintProvider.IConstraintElement getBody()
Specified by:
getBody in interface IGrammarConstraintProvider.IConstraint
Returns:
the root of the tree of IGrammarConstraintProvider.IConstraintElement that defines this constraint.

getCacheKey

protected java.lang.Object getCacheKey()

getElements

public IGrammarConstraintProvider.IConstraintElement[] getElements()
Specified by:
getElements in interface IGrammarConstraintProvider.IConstraint
Returns:
a list of all elements represented by this constraint. This is a flattened version of the tree returned by IGrammarConstraintProvider.IConstraint.getBody(). IGrammarConstraintProvider.IConstraintElement.getElementID() returns an Assignment's index in this list. The order of the list reflects the order of the elements in the constraint.

getFeatures

public IGrammarConstraintProvider.IFeatureInfo[] getFeatures()
Specified by:
getFeatures in interface IGrammarConstraintProvider.IConstraint
Returns:
a list of IGrammarConstraintProvider.IFeatureInfo for all EStructuralFeatures from the EClass returned by IGrammarConstraintProvider.IConstraint.getType() that have an assignment if this constraint. If there is no assignment for an EStructuralFeature in this constraint, the array's item is null.

getMostSpecificContext

protected abstract org.eclipse.emf.ecore.EObject getMostSpecificContext()

getMultiAssignementFeatures

public java.lang.Iterable<IGrammarConstraintProvider.IFeatureInfo> getMultiAssignementFeatures()
Specified by:
getMultiAssignementFeatures in interface IGrammarConstraintProvider.IConstraint

getName

public java.lang.String getName()
Specified by:
getName in interface IGrammarConstraintProvider.IConstraint
Returns:
a name that is unique for a grammar and that aims to be human-readable.

getSimpleName

public java.lang.String getSimpleName()
Specified by:
getSimpleName in interface IGrammarConstraintProvider.IConstraint

getSingleAssignementFeatures

public java.lang.Iterable<IGrammarConstraintProvider.IFeatureInfo> getSingleAssignementFeatures()
Specified by:
getSingleAssignementFeatures in interface IGrammarConstraintProvider.IConstraint

getType

public org.eclipse.emf.ecore.EClass getType()
Specified by:
getType in interface IGrammarConstraintProvider.IConstraint
Returns:
This constraint only applies to EObjects of this type.

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

initLists

protected void initLists()

setName

protected void setName(java.lang.String name)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object