Interface Message<S,​T>


public interface Message<S,​T>
Represents a model error or warning message.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Interface Description
    static class  Message.Id
    Message IDs for use with `@SuppressWarnings()`.
    static class  Message.Suppression  
  • Field Summary

    Fields
    Modifier and Type Field Description
    static io.vavr.collection.Map<java.lang.String,​java.util.function.Function<? super ch.raffael.meldioc.model.SrcElement<?,​?>,​java.lang.String>> RENDER_ATTRIBUTE_EXTRACTORS  
    static java.util.regex.Pattern RENDER_SUBSTITUTION_RE  
  • Method Summary

    Modifier and Type Method Description
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> abstractMethodWillNotBeImplemented​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> configTypeNotSupported​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingCompositionRoles​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingExtensionPoints​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingOverride​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingProvisions​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)  
    io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts()  
    static <S,​ T> java.lang.String defaultRenderMessage​(Message<S,​T> msg, java.util.function.Function<? super S,​? extends java.lang.CharSequence> elementRenderer)  
    ch.raffael.meldioc.model.SrcElement<S,​T> element()  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> elementNotAccessible​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> extensionPointReturnRecommended​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> featureInterfacesShouldDeclareProvisionsOnly​(ch.raffael.meldioc.model.SrcElement<S,​T> methodElement, ch.raffael.meldioc.model.SrcElement<S,​T> typeElement)  
    io.vavr.control.Option<Message.Id> id()  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> illegalFeatureClass​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> illegalInnerClass​(ch.raffael.meldioc.model.SrcElement<S,​T> type)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> illegalInnerClass​(ch.raffael.meldioc.model.SrcElement<S,​T> elem, ch.raffael.meldioc.model.SrcElement<S,​T> type)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> incompatibleThrowsClause​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> provision, ch.raffael.meldioc.model.SrcElement<S,​T> exception)  
    default boolean isId​(Message.Id id)  
    boolean languageError()  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> meldAnnotationOutsideFeature​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    java.lang.String message()  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> missingFeatureImportAnnotation​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> superType)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> missingNoArgsConstructor​(ch.raffael.meldioc.model.SrcElement<S,​T> type)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> missingNoArgsConstructor​(ch.raffael.meldioc.model.SrcElement<S,​T> elem, ch.raffael.meldioc.model.SrcElement<S,​T> type)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountAttributeClassMustNotBeParametrized​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountedAbstractProvisionHasNoImplementationCandidate​(ch.raffael.meldioc.model.SrcElement<S,​T> mountMethod, ch.raffael.meldioc.model.SrcElement<S,​T> provisionMethod)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountMethodMustBeAbstract​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountMethodMustReturnFeature​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountMethodsAllowedInConfigurationsOnly​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mustReturnReference​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> nonOverridableMethod​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> noParametersAllowed​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> objectOverride​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    io.vavr.collection.Seq<Message<S,​T>> origins()  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> provisionOverrideMissing​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)  
    default java.lang.String renderMessage​(java.util.function.Function<? super S,​? extends java.lang.CharSequence> elementRenderer)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> returnValueIgnored​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> typeNotExtendable​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> type)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> typesafeConfigNotOnClasspath​(ch.raffael.meldioc.model.SrcElement<S,​T> element)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> unresolvedExtensionPoint​(ch.raffael.meldioc.model.SrcElement<S,​T> epConsumer, ch.raffael.meldioc.model.SrcElement<S,​T> epType)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> unresolvedExtensionPoint​(ch.raffael.meldioc.model.SrcElement<S,​T> source, ch.raffael.meldioc.model.SrcElement<S,​T> epConsumer, ch.raffael.meldioc.model.SrcElement<S,​T> epType)  
    static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> unresolvedProvision​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)  
  • Field Details

    • RENDER_ATTRIBUTE_EXTRACTORS

      static final io.vavr.collection.Map<java.lang.String,​java.util.function.Function<? super ch.raffael.meldioc.model.SrcElement<?,​?>,​java.lang.String>> RENDER_ATTRIBUTE_EXTRACTORS
    • RENDER_SUBSTITUTION_RE

      static final java.util.regex.Pattern RENDER_SUBSTITUTION_RE
  • Method Details

    • id

      io.vavr.control.Option<Message.Id> id()
    • isId

      default boolean isId​(Message.Id id)
    • element

      ch.raffael.meldioc.model.SrcElement<S,​T> element()
    • origins

      io.vavr.collection.Seq<Message<S,​T>> origins()
    • message

      java.lang.String message()
    • conflicts

      io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts()
    • languageError

      boolean languageError()
    • renderMessage

      default java.lang.String renderMessage​(java.util.function.Function<? super S,​? extends java.lang.CharSequence> elementRenderer)
    • conflictingCompositionRoles

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingCompositionRoles​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)
    • conflictingOverride

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingOverride​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)
    • objectOverride

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> objectOverride​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • typeNotExtendable

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> typeNotExtendable​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> type)
    • illegalFeatureClass

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> illegalFeatureClass​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • nonOverridableMethod

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> nonOverridableMethod​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • provisionOverrideMissing

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> provisionOverrideMissing​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)
    • unresolvedProvision

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> unresolvedProvision​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)
    • conflictingProvisions

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingProvisions​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)
    • elementNotAccessible

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> elementNotAccessible​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)
    • abstractMethodWillNotBeImplemented

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> abstractMethodWillNotBeImplemented​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)
    • noParametersAllowed

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> noParametersAllowed​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • mustReturnReference

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mustReturnReference​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • mountMethodMustBeAbstract

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountMethodMustBeAbstract​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • mountMethodsAllowedInConfigurationsOnly

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountMethodsAllowedInConfigurationsOnly​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • mountMethodMustReturnFeature

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountMethodMustReturnFeature​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)
    • mountAttributeClassMustNotBeParametrized

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountAttributeClassMustNotBeParametrized​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)
    • mountedAbstractProvisionHasNoImplementationCandidate

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> mountedAbstractProvisionHasNoImplementationCandidate​(ch.raffael.meldioc.model.SrcElement<S,​T> mountMethod, ch.raffael.meldioc.model.SrcElement<S,​T> provisionMethod)
    • missingNoArgsConstructor

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> missingNoArgsConstructor​(ch.raffael.meldioc.model.SrcElement<S,​T> type)
    • missingNoArgsConstructor

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> missingNoArgsConstructor​(ch.raffael.meldioc.model.SrcElement<S,​T> elem, ch.raffael.meldioc.model.SrcElement<S,​T> type)
    • illegalInnerClass

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> illegalInnerClass​(ch.raffael.meldioc.model.SrcElement<S,​T> type)
    • illegalInnerClass

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> illegalInnerClass​(ch.raffael.meldioc.model.SrcElement<S,​T> elem, ch.raffael.meldioc.model.SrcElement<S,​T> type)
    • extensionPointReturnRecommended

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> extensionPointReturnRecommended​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> conflict)
    • returnValueIgnored

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> returnValueIgnored​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • meldAnnotationOutsideFeature

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> meldAnnotationOutsideFeature​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • typesafeConfigNotOnClasspath

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> typesafeConfigNotOnClasspath​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • configTypeNotSupported

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> configTypeNotSupported​(ch.raffael.meldioc.model.SrcElement<S,​T> element)
    • unresolvedExtensionPoint

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> unresolvedExtensionPoint​(ch.raffael.meldioc.model.SrcElement<S,​T> epConsumer, ch.raffael.meldioc.model.SrcElement<S,​T> epType)
    • unresolvedExtensionPoint

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> unresolvedExtensionPoint​(ch.raffael.meldioc.model.SrcElement<S,​T> source, ch.raffael.meldioc.model.SrcElement<S,​T> epConsumer, ch.raffael.meldioc.model.SrcElement<S,​T> epType)
    • conflictingExtensionPoints

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> conflictingExtensionPoints​(ch.raffael.meldioc.model.SrcElement<S,​T> element, io.vavr.collection.Seq<ch.raffael.meldioc.model.SrcElement<S,​T>> conflicts)
    • incompatibleThrowsClause

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> incompatibleThrowsClause​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> provision, ch.raffael.meldioc.model.SrcElement<S,​T> exception)
    • missingFeatureImportAnnotation

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> missingFeatureImportAnnotation​(ch.raffael.meldioc.model.SrcElement<S,​T> element, ch.raffael.meldioc.model.SrcElement<S,​T> superType)
    • featureInterfacesShouldDeclareProvisionsOnly

      static <S,​ T> ch.raffael.meldioc.model.messages.SimpleMessage<S,​T> featureInterfacesShouldDeclareProvisionsOnly​(ch.raffael.meldioc.model.SrcElement<S,​T> methodElement, ch.raffael.meldioc.model.SrcElement<S,​T> typeElement)
    • defaultRenderMessage

      static <S,​ T> java.lang.String defaultRenderMessage​(Message<S,​T> msg, java.util.function.Function<? super S,​? extends java.lang.CharSequence> elementRenderer)