Package jetbrains.mps.errors.item
Interface FlavouredItem
- 
- All Known Subinterfaces:
 EditorQuickFix,IssueKindReportItem,ModelFlavouredItem,ModelReportItem,ModuleFlavouredItem,ModuleReportItem,NodeFeatureFlavouredItem,NodeFeatureReportItem,NodeFlavouredItem,NodeReportItem,QuickFixReportItem,QuickFixReportItem.EditorQuickfixReportItem,ReportItem,RuleIdFlavouredItem
- All Known Implementing Classes:
 ConceptFeatureCardinalityError,ConceptFeatureError,ConceptFeatureMissingError,ConceptMissingError,ConstraintsReportItem,ConstraintsReportItem.CanBeAncestorFailedReportItem,ConstraintsReportItem.CanBeChildFailedReportItem,ConstraintsReportItem.CanBeParentFailedReportItem,ConstraintsReportItem.CanBeRootFailedReportItem,ConstraintsReportItem.PropertyConstraintReportItem,DeprecatedConceptMemberNotMigratedProblem,DeprecatedConceptMemberNotMigratedProblem.DeprecatedContainmentLinkNotMigratedProblem,DeprecatedConceptMemberNotMigratedProblem.DeprecatedPropertyNotMigratedProblem,DeprecatedConceptMemberNotMigratedProblem.DeprecatedReferenceLinkNotMigratedProblem,DeprecatedConceptNotMigratedProblem,ImportSelfWarning,IncompatibleTargetReportItem,IncompatibleTargetReportItem.IncompatibleContainmentTargetReportItem,IncompatibleTargetReportItem.IncompatibleReferenceTargetReportItem,LanguageAbsentInRepoProblem,LanguageErrorItem,LanguageErrorItem.ReferenceItem,LanguageFeatureMissingError,LanguageMissingProblem,LanguageNotImportedReportItem,LanguageNotLoadedProblem,MigrateManually,MissingImportedLanguageError,MissingModelError,MissingModelImport,ModelReportItemBase,ModelValidationProblem,ModuleImportQuickFix,ModuleValidationProblem,NodeReportItemBase,NotMigratedNode,OutOfScopeReferenceReportItem,Problem,QuickFixRuntimeAdapter,ReferenceReportItem,RefScopeChecker.ResolveReferenceQuickFix,ReportItemBase,TargetModuleNotImportedReportItem,TypesystemReportItemAdapter,UnresolvedReferenceReportItem
public interface FlavouredItemFlavours represent information that identifies the item. For example, item can be attached to some node or model in AST, can hold message, priority and others. In these cases the item holds the corresponding flavour.
Generally, a new flavour should be introduced the following way:-  Create a subclass of 
FlavouredItemwith the method returning the flavour value -  Create a flavour object (instance of 
ReportItemFlavour) knowing about that method - Call that method to get flavour value from an instance of dedicated subclass
 -  Call 
ReportItemFlavour.tryToGet()instead of checking viainstanceof. 
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceFlavouredItem.FlavourPredicate<I extends FlavouredItem,T>static classFlavouredItem.ReportItemFlavour<I extends FlavouredItem,T>static classFlavouredItem.ReportItemPredicate 
- 
Field Summary
Fields Modifier and Type Field Description static FlavouredItem.ReportItemFlavour<FlavouredItem,Class<? extends FlavouredItem>>FLAVOUR_CLASSstatic FlavouredItem.ReportItemFlavour<ReportItem,ReportItem>FLAVOUR_THIS 
- 
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static <T> FlavouredItem.FlavourPredicate<?,T>extractPredicate(FlavouredItem fI, FlavouredItem.ReportItemFlavour<?,T> flavour)Set<FlavouredItem.ReportItemFlavour<?,?>>getIdFlavours()static <T> StringserializeFlavour(FlavouredItem fI, FlavouredItem.ReportItemFlavour<?,T> flavour)default FlavouredItem.ReportItemPredicatetoPredicate(Set<FlavouredItem.ReportItemFlavour<?,?>> idFlavours) 
 - 
 
- 
- 
Field Detail
- 
FLAVOUR_CLASS
static final FlavouredItem.ReportItemFlavour<FlavouredItem,Class<? extends FlavouredItem>> FLAVOUR_CLASS
 
- 
FLAVOUR_THIS
static final FlavouredItem.ReportItemFlavour<ReportItem,ReportItem> FLAVOUR_THIS
 
 - 
 
- 
Method Detail
- 
getIdFlavours
Set<FlavouredItem.ReportItemFlavour<?,?>> getIdFlavours()
 
- 
extractPredicate
static <T> FlavouredItem.FlavourPredicate<?,T> extractPredicate(FlavouredItem fI, FlavouredItem.ReportItemFlavour<?,T> flavour)
 
- 
toPredicate
default FlavouredItem.ReportItemPredicate toPredicate(Set<FlavouredItem.ReportItemFlavour<?,?>> idFlavours)
 
- 
serializeFlavour
static <T> String serializeFlavour(FlavouredItem fI, FlavouredItem.ReportItemFlavour<?,T> flavour)
 
 - 
 
 -