package org.ieee.odm.adapter.psse.mapper.dynamic;
import org.ieee.odm.adapter.psse.PSSEAdapter.PsseVersion;
import org.ieee.odm.adapter.psse.mapper.aclf.BasePSSEDataMapper;
import org.ieee.odm.adapter.psse.mapper.dynamic.exciter.PSSEExcIEEE1968Type1Mapper;
import org.ieee.odm.adapter.psse.mapper.dynamic.exciter.PSSEExcIEEE1981AC1Mapper;
import org.ieee.odm.adapter.psse.mapper.dynamic.exciter.PSSEExcIEEE1981DC1Mapper;
import org.ieee.odm.adapter.psse.mapper.dynamic.exciter.PSSEExcIEEE1981ST1Mapper;
import org.ieee.odm.adapter.psse.mapper.dynamic.exciter.PSSEExcIEEE2005ST3AMapper;
import org.ieee.odm.adapter.psse.mapper.dynamic.exciter.PSSEExcIEEE2005ST4BMapper;
import org.ieee.odm.common.ODMException;
import org.ieee.odm.model.dstab.DStabModelParser;
public class PSSEDynExciterMapper extends BasePSSEDataMapper{
private PSSEExcIEEE1968Type1Mapper psseExcIEEET1 = null;
private PSSEExcIEEE1981DC1Mapper psseExcIEEEX1 = null;
private PSSEExcIEEE1981AC1Mapper psseExcEXAC1 = null;
private PSSEExcIEEE1981ST1Mapper psseExcEXST1 = null;
private PSSEExcIEEE2005ST3AMapper psseExcESST3A = null;
private PSSEExcIEEE2005ST4BMapper psseExcESST4B = null;
public PSSEDynExciterMapper(PsseVersion ver) {
super(ver);
psseExcIEEET1 = new PSSEExcIEEE1968Type1Mapper(ver);
psseExcIEEEX1 = new PSSEExcIEEE1981DC1Mapper(ver);
psseExcEXAC1 = new PSSEExcIEEE1981AC1Mapper(ver);
psseExcEXST1 = new PSSEExcIEEE1981ST1Mapper(ver);
psseExcESST3A = new PSSEExcIEEE2005ST3AMapper(ver);
psseExcESST4B = new PSSEExcIEEE2005ST4BMapper(ver);
}
public void procLineString(String type,String lineStr, DStabModelParser parser) throws ODMException {
if(type.equalsIgnoreCase("IEEET1")){
psseExcIEEET1.procLineString(lineStr, parser);
}
else if(type.equalsIgnoreCase("IEEEX1")){
psseExcIEEEX1.procLineString(lineStr, parser);
}
else if(type.equalsIgnoreCase("EXAC1")){
psseExcEXAC1.procLineString(lineStr, parser);
}
else if(type.equalsIgnoreCase("EXST1")){
psseExcEXST1.procLineString(lineStr, parser);
}
else if(type.equalsIgnoreCase("ESST3A")){
psseExcESST3A.procLineString(lineStr, parser);
}
else if(type.equalsIgnoreCase("ESST4B")){
psseExcESST4B.procLineString(lineStr, parser);
}
else{
throw new ODMException("The input Exciter model type #"+ type+" is not supporged yet!");
}
}
}