package de.dhbwstuttgart.strucTypes5.assumptions;


import de.dhbwstuttgart.strucTypes5.constraints.ConstraintAbstract;
import de.dhbwstuttgart.strucTypes5.interfaceTemplates.Interface;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVar;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarAbstract;
import de.dhbwstuttgart.strucTypes5.typeVars.TypeVarStore;
import de.dhbwstuttgart.syntaxtree.ClassOrInterface;

import java.util.List;

/**
 * Created by sebastian on 21.04.17.
 */
public class AssumptionClass extends AssumptionAbstract {

    // Die Angaben entspreichen einer clT Klasse
    private ClassOrInterface cl;
    private TypeVarStore typeVarStore;
    private AssumptionMap assumptionMap;
    private List<ConstraintAbstract> constraints;
    private List<Interface> generatedinterfaces;
    private List<TypeVarAbstract> genericsForClass;

    public AssumptionClass() {

    }

    public AssumptionClass(ClassOrInterface cl, TypeVarStore typeVarStore, AssumptionMap assumptionMap, List<ConstraintAbstract> constraints, List<Interface> generatedinterfaces, List<TypeVarAbstract> genericsForClass) {
        this.cl = cl;
        this.typeVarStore = typeVarStore;
        this.assumptionMap = assumptionMap;
        this.constraints = constraints;
        this.generatedinterfaces = generatedinterfaces;
        this.genericsForClass = genericsForClass;
    }


    public ClassOrInterface getCl() {
        return cl;
    }

    public void setCl(ClassOrInterface cl) {
        this.cl = cl;
    }

    public TypeVarStore getTypeVarStore() {
        return typeVarStore;
    }

    public void setTypeVarStore(TypeVarStore typeVarStore) {
        this.typeVarStore = typeVarStore;
    }

    public AssumptionMap getAssumptionMap() {
        return assumptionMap;
    }

    public void setAssumptionMap(AssumptionMap assumptionMap) {
        this.assumptionMap = assumptionMap;
    }

    public List<ConstraintAbstract> getConstraints() {
        return constraints;
    }

    public void setConstraints(List<ConstraintAbstract> constraints) {
        this.constraints = constraints;
    }

    public List<Interface> getGeneratedinterfaces() {
        return generatedinterfaces;
    }

    public void setGeneratedinterfaces(List<Interface> generatedinterfaces) {
        this.generatedinterfaces = generatedinterfaces;
    }

    public List<TypeVarAbstract> getGenericsForClass() {
        return genericsForClass;
    }

    public void setGenericsForClass(List<TypeVarAbstract> genericsForClass) {
        this.genericsForClass = genericsForClass;
    }


}
