Annotation Interface Interface


@Target({}) @Retention(CLASS) public @interface Interface
This annotation is used to define information for a soft-implemented interface. See Implements for details.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Describes the remapping strategy applied to methods matching this interface.
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Interface that the parent Implements indicates the mixin implements.
    [Required] prefix for implementing interface methods.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    By default, the annotation processor will attempt to locate an obfuscation mapping for all methods soft-implemented by the interface declared in this Interface annotation, since it is possible that the declared interface may be obfuscated and therefore contain obfuscated member methods.
    boolean
    If set to true, all methods implementing this interface are treated as if they were individually decorated with Unique
  • Element Details

    • iface

      Class<?> iface
      Interface that the parent Implements indicates the mixin implements. The interface will be hot-patched onto the target class as part of the mixin application.
      Returns:
      interface to implement
    • prefix

      String prefix
      [Required] prefix for implementing interface methods. Works similarly to Shadow prefixes, but must end with a dollar sign ($)
      Returns:
      prefix to use
    • unique

      boolean unique
      If set to true, all methods implementing this interface are treated as if they were individually decorated with Unique
      Returns:
      true to mark all implementing methods as unique
      Default:
      false
    • remap

      By default, the annotation processor will attempt to locate an obfuscation mapping for all methods soft-implemented by the interface declared in this Interface annotation, since it is possible that the declared interface may be obfuscated and therefore contain obfuscated member methods. However since it may be desirable to skip this pass (for example if an interface method intrinsically shadows a soft-implemented method) this setting is provided to restrict or inhibit processing of member methods matching this soft-implements decoration.
      Returns:
      Remapping strategy to use, see Interface.Remap for details.
      Default:
      ALL