У меня есть сериализованный объект JSON, который выглядит следующим образом
{
"someData" : ... // data, structure of which varies based on the type of the serialized object
"typeID" : 42 // integer constant that uniquely identifies type of the serialized object
}
У меня также есть библиотека Java, которая выглядит следующим образом:
abstract class GeneralClass {
public abstract int getTypeID();
}
class SomeDataClass1 extends GeneralClass {
public SomeDataClass1(/*arguments depend on type*/) {/*init data fields with arguments*/}
/*public data fields*/
public static final int typeID = 42
@Override
public int getTypeID() {
return typeID;
}
}
Каждый typeID
однозначно идентифицирует одиниз многих классов из библиотеки Java в порядке из примера.Чтобы использовать функции из библиотеки, мне нужно создать экземпляр класса из сериализованных данных;для этого я буду использовать gson.Чтобы gson мог десериализовать JSON в объект, мне нужно передать ему экземпляр объекта Class, который соответствует typeID
.Как я могу получить объект Class, соответствующий классу, если у меня есть его typeID
?