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; } }