Class ModelAnnotationType

java.lang.Object
ch.raffael.meldioc.model.config.ModelAnnotationType

public abstract class ModelAnnotationType extends Object
  • Method Details

    • all

      public static io.vavr.collection.Set<ModelAnnotationType> all()
    • of

      public static <A extends Annotation> ModelAnnotationType of(Class<A> annotationType)
    • annotationType

      public abstract Class<? extends Annotation> annotationType()
    • attributes

      @Lazy @Auxiliary public io.vavr.collection.Map<String,AnnotationAttribute> attributes()
    • displayName

      @Derived @Auxiliary public String displayName()
    • role

      @Default public boolean role()
    • modifier

      public boolean modifier()
    • auxiliaryRole

      @Default public boolean auxiliaryRole()
    • featureRole

      @Default public boolean featureRole()
    • onMethod

      @Default public boolean onMethod()
    • onClass

      @Default public boolean onClass()
    • onInterface

      @Default public boolean onInterface()
    • onImplements

      @Default public boolean onImplements()
    • supportsParameters

      @Default public boolean supportsParameters()
    • willDecorate

      @Default public boolean willDecorate()
    • willImplement

      @Default public boolean willImplement()
    • withAnnotationType

      ModelAnnotationType withAnnotationType(Class<? extends Annotation> value)
      Copy the current immutable object by setting a value for the annotationType attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for annotationType
      Returns:
      A modified copy of the this object
    • withRole

      ModelAnnotationType withRole(boolean value)
      Copy the current immutable object by setting a value for the role attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for role
      Returns:
      A modified copy of the this object
    • withAuxiliaryRole

      ModelAnnotationType withAuxiliaryRole(boolean value)
      Copy the current immutable object by setting a value for the auxiliaryRole attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for auxiliaryRole
      Returns:
      A modified copy of the this object
    • withFeatureRole

      ModelAnnotationType withFeatureRole(boolean value)
      Copy the current immutable object by setting a value for the featureRole attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for featureRole
      Returns:
      A modified copy of the this object
    • withOnMethod

      ModelAnnotationType withOnMethod(boolean value)
      Copy the current immutable object by setting a value for the onMethod attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for onMethod
      Returns:
      A modified copy of the this object
    • withOnClass

      ModelAnnotationType withOnClass(boolean value)
      Copy the current immutable object by setting a value for the onClass attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for onClass
      Returns:
      A modified copy of the this object
    • withOnInterface

      ModelAnnotationType withOnInterface(boolean value)
      Copy the current immutable object by setting a value for the onInterface attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for onInterface
      Returns:
      A modified copy of the this object
    • withOnImplements

      ModelAnnotationType withOnImplements(boolean value)
      Copy the current immutable object by setting a value for the onImplements attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for onImplements
      Returns:
      A modified copy of the this object
    • withSupportsParameters

      ModelAnnotationType withSupportsParameters(boolean value)
      Copy the current immutable object by setting a value for the supportsParameters attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for supportsParameters
      Returns:
      A modified copy of the this object
    • withWillDecorate

      ModelAnnotationType withWillDecorate(boolean value)
      Copy the current immutable object by setting a value for the willDecorate attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for willDecorate
      Returns:
      A modified copy of the this object
    • withWillImplement

      ModelAnnotationType withWillImplement(boolean value)
      Copy the current immutable object by setting a value for the willImplement attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for willImplement
      Returns:
      A modified copy of the this object