Package org.spongepowered.asm.mixin.extensibility

## Interface IMixinConfig

    public interface IMixinConfig

Interface for loaded mixin configurations

### Field Summary

Fields
`static int` `DEFAULT_PRIORITY` Default priority for mixin configs and mixins

### Method Summary

All Methods Instance Methods Abstract Methods
`<V> void` `decorate​(java.lang.String key, V value)` Decorate this config with arbitrary metadata for debugging or compatibility purposes
`java.lang.String` `getCleanSourceId()` Get the id of the source id with all non-alpha characters removed.
`<V> V` `getDecoration​(java.lang.String key)` Get the specified decoration
`MixinEnvironment` `getEnvironment()` Get the parent environment of this config
`java.lang.String` `getMixinPackage()` Get the package containing all mixin classes
`java.lang.String` `getName()` Get the name of the file from which this configuration object was initialised
`IMixinConfigPlugin` `getPlugin()` Get the companion plugin, if available
`int` `getPriority()` Get the priority
`IMixinConfigSource` `getSource()` Get the source which initially provide this configuration object, for example the jar which specified it.
`java.util.Set<java.lang.String>` `getTargets()` Get targets for this configuration
`boolean` `hasDecoration​(java.lang.String key)` Get whether this node is decorated with the specified key
`boolean` `isRequired()` True if this mixin is required (failure to apply a defined mixin is an error condition).

### Field Detail

#### DEFAULT_PRIORITY

    static final int DEFAULT_PRIORITY

Default priority for mixin configs and mixins

See Also:
  Constant Field Values

### Method Detail

#### getEnvironment

    MixinEnvironment getEnvironment()

Get the parent environment of this config

Returns:
  the parent environment

#### getName

    java.lang.String getName()

Get the name of the file from which this configuration object was initialised

Returns:
  the config filename (resource name)

#### getSource

    IMixinConfigSource getSource()

Get the source which initially provide this configuration object, for example the jar which specified it.

Returns:
  the config source, or null if not provided by the service

#### getCleanSourceId

    java.lang.String getCleanSourceId()

Get the id of the source id with all non-alpha characters removed. If the source is null or the source's id is null then this method returns null also.

#### getMixinPackage

    java.lang.String getMixinPackage()

Get the package containing all mixin classes

Returns:
  the base package name for this config

#### getPriority

    int getPriority()

Get the priority

Returns:
  the priority

#### getPlugin

    IMixinConfigPlugin getPlugin()

Get the companion plugin, if available

Returns:
  the companion plugin instance or null if no plugin

#### isRequired

    boolean isRequired()

True if this mixin is required (failure to apply a defined mixin is an error condition).

Returns:
  true if this config is marked as required

#### getTargets

    java.util.Set<java.lang.String> getTargets()

Get targets for this configuration

Returns:
  target classes of mixins in this config

#### decorate

    <V> void decorate​(java.lang.String key,
                      V value)

Decorate this config with arbitrary metadata for debugging or compatibility purposes

Type Parameters:
  `V` - value type
Parameters:
  `key` - meta key
  `value` - meta value
Throws:
  `java.lang.IllegalArgumentException` - if the specified key exists already

#### hasDecoration

    boolean hasDecoration​(java.lang.String key)

Get whether this node is decorated with the specified key

Parameters:
  `key` - meta key
Returns:
  true if the specified decoration exists

#### getDecoration

    <V> V getDecoration​(java.lang.String key)

Get the specified decoration

Type Parameters:
  `V` - value type
Parameters:
  `key` - meta key
Returns:
  decoration value or null if absent