Class MixinServiceAbstract

java.lang.Object
org.spongepowered.asm.service.MixinServiceAbstract
All Implemented Interfaces:
IMixinService

public abstract class MixinServiceAbstract
extends java.lang.Object
implements IMixinService
Mixin Service base class
  • Field Details

    • LAUNCH_PACKAGE

      protected static final java.lang.String LAUNCH_PACKAGE
      See Also:
      Constant Field Values
    • MIXIN_PACKAGE

      protected static final java.lang.String MIXIN_PACKAGE
      See Also:
      Constant Field Values
    • logger

      protected static final org.apache.logging.log4j.Logger logger
      Logger
    • lock

      protected final ReEntranceLock lock
      Transformer re-entrance lock, shared between the mixin transformer and the metadata service
  • Constructor Details

    • MixinServiceAbstract

      public MixinServiceAbstract()
  • Method Details

    • prepare

      public void prepare()
      Description copied from interface: IMixinService
      Called at subsystem boot
      Specified by:
      prepare in interface IMixinService
    • getInitialPhase

      public MixinEnvironment.Phase getInitialPhase()
      Description copied from interface: IMixinService
      Get the initial subsystem phase
      Specified by:
      getInitialPhase in interface IMixinService
    • getMinCompatibilityLevel

      public MixinEnvironment.CompatibilityLevel getMinCompatibilityLevel()
      Description copied from interface: IMixinService
      Get the minimum compatibility level supported by this service. Can return null if the service has no specific minimum compatibility level, however if a value is returned, it will be used as the minimum compatibility level and no lower levels will be supported.
      Specified by:
      getMinCompatibilityLevel in interface IMixinService
      Returns:
      minimum supported MixinEnvironment.CompatibilityLevel or null
    • getMaxCompatibilityLevel

      public MixinEnvironment.CompatibilityLevel getMaxCompatibilityLevel()
      Description copied from interface: IMixinService
      Get the maximum compatibility level supported by this service. Can return null if the service has no specific maximum compatibility level. If a value is returned, a warning will be raised if a configuration attempts to se a higher compatibility level.
      Specified by:
      getMaxCompatibilityLevel in interface IMixinService
      Returns:
      minimum supported MixinEnvironment.CompatibilityLevel or null
    • beginPhase

      public void beginPhase()
      Description copied from interface: IMixinService
      Called whenever a new phase is started
      Specified by:
      beginPhase in interface IMixinService
    • checkEnv

      public void checkEnv​(java.lang.Object bootSource)
      Description copied from interface: IMixinService
      Check whether the supplied object is a valid boot source for mixin environment
      Specified by:
      checkEnv in interface IMixinService
      Parameters:
      bootSource - boot source
    • init

      public void init()
      Description copied from interface: IMixinService
      Called at the end of subsystem boot
      Specified by:
      init in interface IMixinService
    • getReEntranceLock

      public ReEntranceLock getReEntranceLock()
      Description copied from interface: IMixinService
      Get the transformer re-entrance lock for this service, the transformer uses this lock to track transformer re-entrance when co-operative load and transform is performed by the service.
      Specified by:
      getReEntranceLock in interface IMixinService
    • getMixinContainers

      public java.util.Collection<IContainerHandle> getMixinContainers()
      Description copied from interface: IMixinService
      Get a collection of containers in the current environment which contain mixins we should process
      Specified by:
      getMixinContainers in interface IMixinService
    • getContainersFromAgents

      protected final void getContainersFromAgents​(com.google.common.collect.ImmutableList.Builder<IContainerHandle> list)
      Collect mixin containers from platform agents
    • getSideName

      public final java.lang.String getSideName()
      Description copied from interface: IMixinService
      Get the detected side name for this environment
      Specified by:
      getSideName in interface IMixinService
    • wire

      @Deprecated public void wire​(MixinEnvironment.Phase phase, IConsumer<MixinEnvironment.Phase> phaseConsumer)
      Deprecated.
      temporary
      Temp wiring. Called when the initial phase is spun up in the environment.
      Parameters:
      phase - Initial phase
      phaseConsumer - Delegate for the service (or agents) to trigger later phases
    • unwire

      @Deprecated public void unwire()
      Deprecated.
      temporary
      Temp wiring. Called when the default phase is started in the environment.