Class MixinServiceAbstract

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

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

  • 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
    • offer

      public void offer(IMixinInternal internal)
      Description copied from interface: IMixinService
      Called when the subsystem is offering internal components to the service, the service can determine whether to retain or ignore the component based on its own requirements.
      Specified by:
      offer in interface IMixinService
      Parameters:
      internal - Internal component being offered
    • getInternal

      protected final <T extends IMixinInternal> T getInternal(Class<T> type)
    • init

      public void init()
      Description copied from interface: IMixinService
      Called at the end of subsystem boot
      Specified by:
      init in interface IMixinService
    • 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(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
    • 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 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 String getSideName()
      Description copied from interface: IMixinService
      Get the detected side name for this environment
      Specified by:
      getSideName in interface IMixinService
    • getLogger

      public ILogger getLogger(String name)
      Description copied from interface: IMixinService
      Retrieve a logger adapter with the specified name (id). In general this method will be called many times for a given name so it is anticipated that the returned logger instances are cached by the service.

      There is no contractual requirement however that adapters are cached and that the same adapter is returned for every call to this method with the same name.

      This methood must not return null.

      Implementations should be thread-safe since loggers may be requested by threads other than the main application thread.

      Specified by:
      getLogger in interface IMixinService
      Parameters:
      name - Logger name
      Returns:
      Logger adapter for the underlying logging subsystem
    • createLogger

      protected ILogger createLogger(String name)
    • 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.