public class ApiRetrofitFactory {
@JsonApi(type = "holder")
private static class Holder extends Resource { }
public void test() throws IOException {
Moshi moshi = new Moshi.Builder()
.add(ResourceAdapterFactory.builder().add(Holder.class).build())
.build();
moshi.adapter(Types.newParameterizedType(Document.class, Holder.class))
.fromJson("{\"data\":{\"type\":\"holder\",\"id\":\"1\"}}");
}
}
Stacktrace:
java.lang.IllegalAccessException: Class moe.banana.jsonapi2.ResourceAdapter can not access a member of class com.example.app.services.ApiRetrofitFactory$Holder with modifiers "private"
at moe.banana.jsonapi2.ResourceAdapter.fromJson(ResourceAdapter.java:54)
at moe.banana.jsonapi2.ResourceAdapter.fromJson(ResourceAdapter.java:10)
at com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:33)
at moe.banana.jsonapi2.ResourceAdapterFactory$GenericAdapter.fromJson(ResourceAdapterFactory.java:199)
at moe.banana.jsonapi2.ResourceAdapterFactory$GenericAdapter.fromJson(ResourceAdapterFactory.java:176)
at moe.banana.jsonapi2.ResourceAdapterFactory$DocumentAdapter.fromJson(ResourceAdapterFactory.java:93)
at moe.banana.jsonapi2.ResourceAdapterFactory$DocumentAdapter.fromJson(ResourceAdapterFactory.java:51)
at com.squareup.moshi.JsonAdapter.fromJson(JsonAdapter.java:33)
...
Deserialize fails with a private/package level.
Stacktrace: