Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to transform a sealed Kotlin class into a Java class

I'm wondering if there is an equivalent in Java code for this kotlin sealed class

sealed class Resource<out T> {
    class Loading<out T> : Resource<T>()
    data class Success<out T>(val data: T) : Resource<T>()
    data class Failure<out T>(val exception: Exception) : Resource<T>()
}
like image 892
SNM Avatar asked Jun 19 '26 16:06

SNM


1 Answers

Just like that (unfortunately, too verbose):

class Resource<T> {
    class Loading extends Resource<T> { }
    class Success extends Resource<T> {

        @NonNull
        T data;

        public Success(T data) {
            this.data = data;
        }
    }

    class Failure extends Resource<T> {

        @NonNull
        Exception exception;

        public Failure(Exception exception) {
            this.exception = exception
        }
    }
}
like image 188
Augusto Carmo Avatar answered Jun 21 '26 05:06

Augusto Carmo