package org.etk.reflect.core; import org.etk.reflect.api.ArrayTypeInfo; import org.etk.reflect.api.TypeInfo; public class ArrayTypeInfoImpl<T, M, A, P, F> extends AbstractArrayTypeInfo<T, M, A, P, F> implements ArrayTypeInfo { /** . */ private final T type; /** . */ private TypeInfo componentType; public ArrayTypeInfoImpl(TypeResolverImpl<T, M, A, P, F> domain, T type) { super(domain); // this.type = type; } public Object unwrap() { return type; } public TypeInfo getComponentType() { if (componentType == null) { T componentType = domain.typeMetadata.getComponentType(type); this.componentType = domain.getType(componentType); } return componentType; } }