@param crc_delimiters Defines variable and comment delimiters. May not be null. See <A HREF="#getCRCDelimiters()">getCRCDelimiters</A>.
@param crc_variable The configuration for variables. May not be null. See <A HREF="#getCRCVariable()">getCRCVariable</A>.
**/
public CRConfig(CRCDelimiters crc_delimiters, CRCVariable crc_variable) {
VWString vws = new VWString();
try {
vws.addAPChar(crc_delimiters.getVarDelimsAPC());
} catch(NullPointerException npx) {
throwAX("constructor: crc_delimiters is null.");
}
vws.addChar(crc_delimiters.getMLCStart());
vws.addChar(crc_delimiters.getMLCEnd());
vws.addChar(crc_delimiters.getSingleLineCmt());
try {
if(crc_variable.getCRCVTrim().doUseESChar()) {
vws.addChar(crc_variable.getCRCVTrim().getESChar());
}
} catch(NullPointerException npx) {
throwAX("constructor: crc_delimiters is null.");
}
//This constructor validates things that are *relational*
//between crc_delimiters and crc_variable:
// - Uniqueness overall
// - crc_delimiters characters not existing in
// crc_variable.getNullValue().
// - crc_delimiters characters not being specifically
// escaped.
vws.addChar(crc_variable.getCRCVUnescape().getEscapeChar());
vws.addAPChar(crc_variable.getCRCVUnescape().getUSCIgnore().getAPCIgnore());
//Get name array for getContainedIdxs...START
VWString acsNames = new VWString();
for(int i = 0; i < crc_delimiters.getVarDelimsAPC().getLength(); i++) {
acsNames.add("crc_delimiters.getVarDelimsAPC().getChar(" + i + ")");
}
acsNames.add("crc_delimiters.getMLCStart()");
acsNames.add("crc_delimiters.getMLCEnd()");
acsNames.add("crc_delimiters.getSingleLine()");
if(crc_variable.getCRCVTrim().doUseESChar()) {
acsNames.add("crc_variable.getCRCVTrim().getESChar()");
}
acsNames.add("crc_variable.getCRCVUnescape().getEscapeChar()");
//Get name array for getContainedIdxs...END
SOBString[] ass = (new PASString(vws.getAOString())).getNewAOSOBString();
(new UtilSOB()).getContainedIdxs(ass, (new GCIConfig("xbn.config.CRConfig.constructor", acsNames.getAOString(), false)));
ZCICharErr cice = new ZCICharErr("crc_variable.getNullValue()");
SOBString ssNV = new SOBString(crc_variable.getNullValue());
for(int i = 0; i < crc_delimiters.getVarDelimsAPC().getLength(); i++) {