package xsbti.api;

import java.util.Arrays;
import java.util.List;
public class TypeParameter implements java.io.Serializable
{
	public TypeParameter(String id, Annotation[] annotations, TypeParameter[] typeParameters, Variance variance, Type lowerBound, Type upperBound)
	{
		this.id = id;
		this.annotations = annotations;
		this.typeParameters = typeParameters;
		this.variance = variance;
		this.lowerBound = lowerBound;
		this.upperBound = upperBound;
	}
	private final String id;
	private final Annotation[] annotations;
	private final TypeParameter[] typeParameters;
	private final Variance variance;
	private final Type lowerBound;
	private final Type upperBound;
	public final String id()
	{
		return id;
	}
	public final Annotation[] annotations()
	{
		return annotations;
	}
	public final TypeParameter[] typeParameters()
	{
		return typeParameters;
	}
	public final Variance variance()
	{
		return variance;
	}
	public final Type lowerBound()
	{
		return lowerBound;
	}
	public final Type upperBound()
	{
		return upperBound;
	}
	public String toString()
	{
		return "TypeParameter(" + "id: " + id() + ", " + "annotations: " + Arrays.toString(annotations()) + ", " + "typeParameters: " + Arrays.toString(typeParameters()) + ", " + "variance: " + variance() + ", " + "lowerBound: " + lowerBound() + ", " + "upperBound: " + upperBound()+ ")";
	}
}