diff --git a/api/src/main/kotlin/me/blueamethyst/bluecloud/api/BlueCloudApi.kt b/api/src/main/kotlin/me/blueamethyst/bluecloud/api/BlueCloudApi.kt index 827867e..38f805f 100644 --- a/api/src/main/kotlin/me/blueamethyst/bluecloud/api/BlueCloudApi.kt +++ b/api/src/main/kotlin/me/blueamethyst/bluecloud/api/BlueCloudApi.kt @@ -2,18 +2,37 @@ package me.blueamethyst.bluecloud.api import com.google.inject.Injector +/** + * This is the api entrypoint for the BlueCloud API. + * It provides access to the application's dependency injection system. + */ abstract class BlueCloudApi { companion object { + /** + * The singleton instance of the BlueCloudApi. + */ private lateinit var instance: BlueCloudApi + + /** + * Returns the singleton instance of the BlueCloudApi. + * @return the singleton instance of the BlueCloudApi. + */ fun getInstance(): BlueCloudApi { return instance } } + /** + * Initializes the singleton instance of the BlueCloudApi. + */ init { instance = this } + /** + * Returns the Injector for the application's dependency injection system. + * @return the Injector for the application's dependency injection system. + */ abstract fun getInjector(): Injector } \ No newline at end of file diff --git a/api/src/main/kotlin/me/blueamethyst/bluecloud/api/annontations/InternalCoroutineScope.kt b/api/src/main/kotlin/me/blueamethyst/bluecloud/api/annontations/InternalCoroutineScope.kt index ca42c41..4f8060f 100644 --- a/api/src/main/kotlin/me/blueamethyst/bluecloud/api/annontations/InternalCoroutineScope.kt +++ b/api/src/main/kotlin/me/blueamethyst/bluecloud/api/annontations/InternalCoroutineScope.kt @@ -1,5 +1,9 @@ package me.blueamethyst.bluecloud.api.annontations +/** + * Annotation for getting a platform-specific coroutine scope. + * This annotation can be used on properties, value parameters, expressions, and functions. + */ @Target(AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION, AnnotationTarget.FUNCTION )