package com.hdl.sdk.link.common.utils.gson;
|
|
|
import androidx.annotation.NonNull;
|
|
import java.lang.reflect.ParameterizedType;
|
import java.lang.reflect.Type;
|
|
/**
|
* Created by Tong on 2021/9/17.
|
*/
|
public class ParameterizedTypeImpl implements ParameterizedType {
|
|
private final Type[] actualTypeArguments;
|
private final Type rawType;
|
private final Type ownerType;
|
|
public ParameterizedTypeImpl(Type rawType, Type[] actualTypeArguments, Type ownerType) {
|
this.ownerType = ownerType;
|
this.rawType = rawType;
|
this.actualTypeArguments = actualTypeArguments;
|
}
|
|
public static Type getType(Type rawType, Type[] actualTypeArguments) {
|
return new ParameterizedTypeImpl(rawType, actualTypeArguments, null);
|
}
|
|
@NonNull
|
@Override
|
public Type[] getActualTypeArguments() {
|
return actualTypeArguments;
|
}
|
|
|
@NonNull
|
@Override
|
public Type getRawType() {
|
return rawType;
|
}
|
|
|
@Override
|
public Type getOwnerType() {
|
return ownerType;
|
}
|
}
|