/* * Copied from Gentyref project http://code.google.com/p/gentyref/ * Reformatted and moved to fit package structure */ package com.google.sitebricks.conversion.generics; import java.lang.reflect.Type; import java.lang.reflect.WildcardType; /** * CaptureType represents a wildcard that has gone through capture conversion. * It is a custom subinterface of Type, not part of the java builtin Type * hierarchy. * * @author Wouter Coekaerts <wouter@coekaerts.be> */ public interface CaptureType extends Type { /** * Returns an array of <tt>Type</tt> objects representing the upper bound(s) * of this capture. This includes both the upper bound of a * <tt>? extends</tt> wildcard, and the bounds declared with the type * variable. References to other (or the same) type variables in bounds * coming from the type variable are replaced by their matching capture. */ Type[] getUpperBounds(); /** * Returns an array of <tt>Type</tt> objects representing the lower bound(s) * of this type variable. This is the bound of a <tt>? super</tt> wildcard. * This normally contains only one or no types; it is an array for * consistency with {@link WildcardType#getLowerBounds()}. */ Type[] getLowerBounds(); }