Class Services

java.lang.Object
de.cech12.coppershears.platform.Services

public class Services extends Object
Service loaders are a built-in Java feature that allow us to locate implementations of an interface that vary from one environment to another. In the context of MultiLoader we use this feature to access a mock API in the common code that is swapped out for the platform specific implementation at runtime.
  • Field Details

    • PLATFORM

      public static final IPlatformHelper PLATFORM
      Platform instance
    • CONFIG

      public static final IConfigHelper CONFIG
      Config instance
  • Method Details

    • load

      public static <T> T load(Class<T> clazz)
      This code is used to load a service for the current environment. Your implementation of the service must be defined manually by including a text file in META-INF/services named with the fully qualified class name of the service. Inside the file you should write the fully qualified class name of the implementation to load for the platform. For example our file on Forge points to ForgePlatformHelper while Fabric points to FabricPlatformHelper.
      Type Parameters:
      T - Type of service class
      Parameters:
      clazz - Service class, which should be loaded.
      Returns:
      service instance