package lt.ktu.gmj.tasks;

import lt.ktu.gmj.*;
import lt.ktu.gmj.propertySheet.PropertyManager;

// Referenced classes of package lt.ktu.gmj.tasks:
//            NEDomain, NashMarket

public class NETask extends AbstractTask implements TaskWithAnalyzers{
    
    private NEDomain domain;
    private NashMarket nmMarket;    
    public Elevation wienerDomain;	//Klase iskilumo testui
    
    public NETask(){
        domain = new NEDomain();
        nmMarket = new NashMarket(domain);  
        wienerDomain=new Elevation(domain);              
    }
    
    public void customize(PropertyManager propertymanager){}
    public Domain domain(){
        return domain;
    }
    //AD modifications:
    // Grazina el-tojo serverio pelna
    public double p(int el){
    		return nmMarket.getADProfit(el);	
    }    
    public double f(Point point){
        return nmMarket.CalculateEquilibrum(point);
    }
    //AD modifications:
   //Grazina klase atliekancia iskilumo testa
    public Elevation wienerDomain(){
    		return wienerDomain;
    	}    
    public Class[] analyzers() throws ClassNotFoundException{
        Class class1 = Class.forName("lt.ktu.gmj.analysis.Spectrum");
        return (new Class[] {
            class1
        });
    }    
}

