/*******************************************************************************
* Copyright © 2011, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*
*******************************************************************************/
package org.eclipse.edt.mof.egl;
import java.util.List;
/**
* A GenericType is a type that has TypeArguments that specialize a Classifier
* that has been defined with TypeParameters. A typical usage of this type
* in EGL is <code>egl.lang.List<E></code>. This classifier has a type parameter
* defined for it. References to the List type can be parameterized with a specific
* type which in the List case would represent the type of objects that the given
* List can contain.
*
*
*/
public interface GenericType extends Type {
Classifier getClassifier();
void setClassifier(Classifier value);
List<Type> getTypeArguments();
public void addTypeArgument(Type typeArg);
public TypeParameter getTypeParameter();
public void setTypeParameter(TypeParameter type);
public Type resolveTypeParameter(Type type);
}