/* XBN Java: Generically useful, non-GUI Java code. http://sourceforge.net/projects/xbnjava Copyright (C) 1997-2003, Jeff Epstein All rights reserved. Modifications: No Redistribution in binary form, with or without modifications, are permitted provided that the following conditions are met: * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * If modifications are made to source code then this license should indicate that fact in the "Modifications" section above. * Neither the author, nor the contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. [NOTE: This license contains NO advertising clause.] */ package xbn.config; import xbn.XBNObject; import xbn.AssertException; import xbn.array.VWObject; import xbn.placeholder.sb_sb_c; import xbn.placeholder.UtilPHFromObj; /**
Convenience functions for reading in configuration variables via xbn.config classes.
Source code: UtilConfig.java
Create a UtilConfig. This constructor does nothing.
**/ public UtilConfig() { } /**Convenience function for translating an Object to an sb_sb_c.
@returnUtilPHFromObj.getsb_sb_c(o_bject)
@exception AssertException If UtilPHFromObj.getsb_sb_c
throws a NullPointerException or ClassCastException for any reason.
**/
public final sb_sb_c getsb_sb_cFromObj(Object o_bject) {
try {
return uphfo.getsb_sb_c(o_bject);
} catch(NullPointerException npx) {
throwAX("getsb_sb_c: o_bject is null.");
} catch(ClassCastException ccx) {
throwAX("getsb_sb_c: o_bject is not a valid sb_sb_c. " + ccx.toString());
}
//Never reached. Required for compile.
return null;
}
/**
Translates the desired VWObject element to an sb_sb_c.
@param acosbsbc_cfgVars The VWObject containing the configuration variables, in the form of sb_sb_c objects. May not be null, or less than[i_idx + 1]
elements in length.
@param i_idx The index representing the desired element in acosbsbc_cfgVars. May not be less than zero, or greater than [acosbsbc_cfgVars.size() - 1]
.
@return getsb_sb_cFromObj(acosbsbc_cfgVars.getObject(i_idx))
**/
public final sb_sb_c getsb_sb_c(VWObject acosbsbc_cfgVars, int i_idx) {
try {
return getsb_sb_cFromObj(acosbsbc_cfgVars.getObject(i_idx));
} catch(NullPointerException npx) {
throwAX("getsb_sb_c: acosbsbc_cfgVars is null.");
} catch(ArrayIndexOutOfBoundsException aioobx) {
throwAX("getsb_sb_c: i_idx (" + i_idx + ") is not a valid array index for acosbsbc_cfgVars (length=" + acosbsbc_cfgVars + ").");
} catch(AssertException ax) {
throwAX("getsb_sb_c: Attempting to getsb_sb_cFromObj(acosbsbc_cfgVars.getObject(" + i_idx + ")). " + ax.toString());
}
//Never reached. Required for compile.
return null;
}
/**
Get an array of sb_sb_c-s from the array of objects existing in an VWObject/sb_sb_c array.
@returngetAOsb_sb_c(acosbsbc_cfgVars, true)
**/
public final sb_sb_c[] getAOsb_sb_c(VWObject acosbsbc_cfgVars) {
return getAOsb_sb_c(acosbsbc_cfgVars, true);
}
/**
Get an array of sb_sb_c-s from the array of objects existing in an VWObject/sb_sb_c array.
@param acosbsbc_cfgVars The VWObject containing the array configuration variables. May not be null. @param b_crashIfNullElement If true, then if any elements in acosbsbc_cfgVars are null, an AssertException is thrown with a descriptive error message. If false, then null elements in acosbsbc_cfgVars are translated to null elements in the returned array (and at the same position). @return An array of sb_sb_c, where each element is the same (or null) as existed in acosbsbc_cfgVars. **/ public final sb_sb_c[] getAOsb_sb_c(VWObject acosbsbc_cfgVars, boolean b_crashIfNullElement) { sb_sb_c[] asbsbc = null; try { asbsbc = new sb_sb_c[acosbsbc_cfgVars.size()]; } catch(NullPointerException npx) { throwAX("getsb_sb_c: acosbsbc_cfgVars is null."); } int i = 0; try { for(; i < acosbsbc_cfgVars.size(); i++) { if(acosbsbc_cfgVars.isNull(i)) { if(b_crashIfNullElement) { throwAX("getsb_sb_c: acosbsbc_cfgVars.isNull(" + i + ") is null and b_crashIfNullElement equals true."); } else { asbsbc[i] = null; } } else { asbsbc[i] = getsb_sb_c(acosbsbc_cfgVars, i); } } } catch(AssertException ax) { throwAX("getsb_sb_c: Attempting to getsb_sb_c(acosbsbc_cfgVars, " + i + "). " + ax.toString()); } return asbsbc; } /**At what index in the provided VWObject/sb_sb_c array, is the requested name located?
@param acosbsbc_cfgVars The VWObject containing the array configuration variables. May not be null. **/ public final int getFoundIdx(VWObject acosbsbc_cfgVars, String s_rqdName) { return getFoundIdx(acosbsbc_cfgVars, s_rqdName, false); } /**At what index in the provided VWObject/sb_sb_c array, is the requested name located?. See getNameSB.
@param acosbsbc_cfgVars The VWObject containing the array configuration variables. May not be null. @param s_rqdName The name expected to exist in one of the acosbsbc_cfgVars elements. May not be null. @param b_crashIfNotFoundAtIdx If true, then instead of returning false, throw a descriptive AssertException instead. If false, then this function will return -1. @return An int representing the array index at which s_rqdName exists.Is the string at element X in the array of required names, equal to the name of the variable at that same element, X, within the VWObject/sb_sb_c array?
@returnisAtIdx(acosbsbc_cfgVars, i_idx, as_rqdNames, false)
**/
public final boolean isAtIdx(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
return isAtIdx(acosbsbc_cfgVars, i_idx, as_rqdNames, false);
}
/**
Is the string at element X in the array of required names, equal to the name of the variable at that same element, X, within the VWObject/sb_sb_c array?
@param acosbsbc_cfgVars The VWObject containing the array configuration variables, in the form of sb_sb_c objects. May not be null or less than[i_idx + 1]
elements in length.
@param i_idx The index representing the desired element in both acosbsbc_cfgVars and as_rqdNames. May not be less than zero, or greater than the lesser of [acosbsbc_cfgVars.size() - 1]
and [as_rqdNames.length - 1]
.
@param as_rqdNames The array of required names. May not be null or less than [i_idx + 1]
elements in length.
@param b_crashIfNotFoundAtIdx If true, then instead of returning false, throw a descriptive AssertException instead. If this parameter equals false, then this function will return false.
@return true If element i_idx as_rqdNames in as_rqdNames equals the name in element i_idx of acosbsbc_cfgVars.
false If otherwise.
**/
public final boolean isAtIdx(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames, boolean b_crashIfNotFoundAtIdx) {
int iFoundIdx = getFoundIdx(acosbsbc_cfgVars, as_rqdNames[i_idx], b_crashIfNotFoundAtIdx);
if(iFoundIdx == -1) {
return false;
}
if(iFoundIdx != i_idx) {
if(b_crashIfNotFoundAtIdx) {
throwAX("isAtIdx: Required configuration variable ('" + as_rqdNames[i_idx] + "') was expected to be found at index " + i_idx + " in acosbsbc_cfgVars, but was actually found at element: " + iFoundIdx + ".");
} else {
return false;
}
}
return true;
}
/**
Get the name of the configuration variable as a StringBuffer.
@returnsbsbc_cfgVar.sb1
**/
public final StringBuffer getNameSB(sb_sb_c sbsbc_cfgVar) {
try {
return sbsbc_cfgVar.sb1;
} catch(NullPointerException npx) {
throwAX("getValueSB: sbsbc_cfgVar is null.");
}
//Never reached. Required for compile.
return null;
}
/**
Get the name of the configuration variable as a String.
@returngetNameSB(sbsbc_cfgVar).toString()
**/
public final String getNameString(sb_sb_c sbsbc_cfgVar) {
return getNameSB(sbsbc_cfgVar).toString();
}
/**
Get the name of the desired configuration variable, as a StringBuffer.
@returngetNameSB(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final StringBuffer getNameSB(VWObject acosbsbc_cfgVars, int i_idx) {
return getNameSB(getsb_sb_c(acosbsbc_cfgVars, i_idx));
}
/**
Get the variable delimiter from the configuration variable.
@returnsbsbc_cfgVar.c
**/
public final char getDelimiter(sb_sb_c sbsbc_cfgVar) {
try {
return sbsbc_cfgVar.c;
} catch(NullPointerException npx) {
throwAX("getValueSB: sbsbc_cfgVar is null.");
}
return ' ';
}
/**
Get the name of the desired configuration variable, as a String.
@returngetNameString(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final String getNameString(VWObject acosbsbc_cfgVars, int i_idx) {
return getNameString(getsb_sb_c(acosbsbc_cfgVars, i_idx));
}
/**
Get the variable delimiter of the desired configuration variable.
@returngetDelimiter(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final char getDelimiter(VWObject acosbsbc_cfgVars, int i_idx) {
return getDelimiter(getsb_sb_c(acosbsbc_cfgVars, i_idx));
}
/**
Get the value of the configuration variable, as a boolean.
@param sbsbc_cfgVar The configuration variable. May not be null, and the string value must be equal to either 'true' or 'false'. @return A boolean represented by the string value of sbsbc_cfgVar. **/ public final boolean getValueBoolean(sb_sb_c sbsbc_cfgVar) { String s = getValueString(sbsbc_cfgVar); try { if(s.equals("true")) { return true; } else if(s.equals("false")) { return false; } else { throwAX("getValueBoolean: getValueString(sbsbc_cfgVar) is '" + s + "', which is not 'true' or 'false'."); } } catch(NullPointerException npx) { throwAX("getValueBoolean: getValueString(sbsbc_cfgVar) is null."); } //Never reached. Required for compile. return false; } /**Get the value of the configuration variable, as a char.
@param sbsbc_cfgVar The configuration variable. May not be null, and the string value must be exactly on character in length. @return A char represented by the string value of sbsbc_cfgVar. **/ public final char getValueChar(sb_sb_c sbsbc_cfgVar) { String s = getValueString(sbsbc_cfgVar); try { if(s.length() == 1) { return s.charAt(0); } else { throwAX("getValueBoolean: getValueString(sbsbc_cfgVar) is '" + s + "', which has a length of " + s.length() + ". In order to be translated to a char, it must be exactly one character in length."); } } catch(NullPointerException npx) { throwAX("getValueBoolean: getValueString(sbsbc_cfgVar) is null."); } //Never reached. Required for compile. return ' '; } /**Get the value of the configuration variable, as an int.
@param sbsbc_cfgVar The configuration variable. May not be null, and the string value must represent a valid int. @return(new Integer(getValueString(sbsbc_cfgVar))).intValue()
**/
public final int getValueInt(sb_sb_c sbsbc_cfgVar) {
try {
return (new Integer(getValueString(sbsbc_cfgVar))).intValue();
} catch(NumberFormatException nfx) {
throwAX("getValueInt: getValueString(sbsbc_cfgVar) returned '" + getValueString(sbsbc_cfgVar) + "', which is not a valid int.");
}
//Never reached. Required for compile.
return -1;
}
/**
Get the value of the configuration variable, as a double.
@param sbsbc_cfgVar The configuration variable. May not be null, and the string value must represent a valid double. @return(new Double(getValueString(sbsbc_cfgVar))).doubleValue()
**/
public final double getValueDouble(sb_sb_c sbsbc_cfgVar) {
try {
return (new Double(getValueString(sbsbc_cfgVar))).doubleValue();
} catch(NumberFormatException nfx) {
throwAX("getValueInt: getValueString(sbsbc_cfgVar) returned '" + getValueString(sbsbc_cfgVar) + "', which is not a valid double.");
}
//Never reached. Required for compile.
return -1;
}
/**
Get the value of the configuration variable, as a string.
@param sbsbc_cfgVar The configuration variable. May not be null. @returngetValueString(sbsbc_cfgVar)
**/
public final String getValueString(sb_sb_c sbsbc_cfgVar) {
return getValueSB(sbsbc_cfgVar).toString();
}
/**
Get the value of the configuration variable, as a StringBuffer.
@param sbsbc_cfgVar The configuration variable. May not be null. @returnsbsbc_cfgVar.sb2
**/
public final StringBuffer getValueSB(sb_sb_c sbsbc_cfgVar) {
try {
return sbsbc_cfgVar.sb2;
} catch(NullPointerException npx) {
throwAX("getValueSB: sbsbc_cfgVar is null.");
}
//Never reached. Required for compile.
return null;
}
/**
Get the value of the desired configuration variable, as a boolean.
@returngetValueBoolean(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final boolean getValueBoolean(VWObject acosbsbc_cfgVars, int i_idx) {
try {
return getValueBoolean(getsb_sb_c(acosbsbc_cfgVars, i_idx));
} catch(AssertException ax) {
throwAX("getValueBoolean (i_idx=" + i_idx + sPRNC_CLN + ax.toString());
}
//Never reached. Required for compile.
return false;
}
/**
Get the value of the desired configuration variable, as a char.
@returngetValueChar(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final char getValueChar(VWObject acosbsbc_cfgVars, int i_idx) {
try {
return getValueChar(getsb_sb_c(acosbsbc_cfgVars, i_idx));
} catch(AssertException ax) {
throwAX("getValueChar (i_idx=" + i_idx + sPRNC_CLN + ax.toString());
}
//Never reached. Required for compile.
return ' ';
}
/**
Get the value of the desired configuration variable, as an int.
@returngetValueInt(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final int getValueInt(VWObject acosbsbc_cfgVars, int i_idx) {
try {
return getValueInt(getsb_sb_c(acosbsbc_cfgVars, i_idx));
} catch(AssertException ax) {
throwAX("getValueInt (i_idx=" + i_idx + sPRNC_CLN + ax.toString());
}
//Never reached. Required for compile.
return -1;
}
/**
Get the value of the desired configuration variable, as a double.
@returngetValueDouble(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final double getValueDouble(VWObject acosbsbc_cfgVars, int i_idx) {
try {
return getValueDouble(getsb_sb_c(acosbsbc_cfgVars, i_idx));
} catch(AssertException ax) {
throwAX("getValueDouble (i_idx=" + i_idx + sPRNC_CLN + ax.toString());
}
//Never reached. Required for compile.
return -1;
}
/**
Get the value of the desired configuration variable, as a string.
@returngetValueString(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final String getValueString(VWObject acosbsbc_cfgVars, int i_idx) {
return getValueString(getsb_sb_c(acosbsbc_cfgVars, i_idx));
}
/**
Get the value of the desired configuration variable, as a StringBuffer.
@returngetValueSB(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final StringBuffer getValueSB(VWObject acosbsbc_cfgVars, int i_idx) {
return getValueSB(getsb_sb_c(acosbsbc_cfgVars, i_idx));
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a boolean.
See getValueSB for parameter documentation.
@returngetValueBoolean(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final boolean getValueBoolean(VWObject acosbsbc_cfgVars, int i_idx, String s_rqdName) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, s_rqdName);
return getValueBoolean(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a char.
See getValueSB for parameter and documentation.
@returngetValueChar(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final char getValueChar(VWObject acosbsbc_cfgVars, int i_idx, String s_rqdName) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, s_rqdName);
return getValueChar(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as an int.
See getValueSB for parameter and documentation.
@returngetValueInt(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final int getValueInt(VWObject acosbsbc_cfgVars, int i_idx, String s_rqdName) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, s_rqdName);
return getValueInt(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a double.
See getValueSB for parameter and documentation.
@returngetValueDouble(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final double getValueDouble(VWObject acosbsbc_cfgVars, int i_idx, String s_rqdName) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, s_rqdName);
return getValueDouble(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a double.
See getValueSB for parameter and documentation.
@returngetValueString(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final String getValueString(VWObject acosbsbc_cfgVars, int i_idx, String s_rqdName) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, s_rqdName);
return getValueString(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a String.
@param acosbsbc_cfgVars The VWObject containing the array configuration variables, in the form of sb_sb_c objects. May not be null or less than[i_idx + 1]
elements in length.
@param i_idx The index representing the desired element in acosbsbc_cfgVars. May not be less than zero, or greater than [acosbsbc_cfgVars.size() - 1]
.
@param s_rqdName The name expected to equal getsb_sb_c(acosbsbc_cfgVars, i_idx)
. May not be null and must equal the name of the i_idx-th element in acosbsbc_cfgVars.
@return getValueBoolean(getsb_sb_c(acosbsbc_cfgVars, i_idx))
**/
public final StringBuffer getValueSB(VWObject acosbsbc_cfgVars, int i_idx, String s_rqdName) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, s_rqdName);
return getValueSB(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a boolean.
See getValueSB for parameter documentation.
@returngetValueBoolean(getsb_sb_c(acosbsbc_cfgVars, i_idx, as_rqdNames))
**/
public final boolean getValueBoolean(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, as_rqdNames);
return getValueBoolean(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a char.
See getValueSB for parameter documentation.
@returngetValueChar(getsb_sb_c(acosbsbc_cfgVars, i_idx, as_rqdNames))
**/
public final char getValueChar(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, as_rqdNames);
return getValueChar(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as an int.
See getValueSB for parameter documentation.
@returngetValueInt(getsb_sb_c(acosbsbc_cfgVars, i_idx, as_rqdNames))
**/
public final int getValueInt(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, as_rqdNames);
return getValueInt(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a double.
See getValueSB for parameter documentation.
@returngetValueDouble(getsb_sb_c(acosbsbc_cfgVars, i_idx, as_rqdNames))
**/
public final double getValueDouble(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, as_rqdNames);
return getValueDouble(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a string.
See getValueSB for parameter documentation.
@returngetValueString(getsb_sb_c(acosbsbc_cfgVars, i_idx, as_rqdNames))
**/
public final String getValueString(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, as_rqdNames);
return getValueString(sbsbc);
}
/**
Get the value of the desired configuration variable (which must have a particular name) as a String.
@param acosbsbc_cfgVars The VWObject containing the array configuration variables, in the form of sb_sb_c objects. May not be null or less than[i_idx + 1]
elements in length.
@param i_idx The index representing the desired element in both acosbsbc_cfgVars and as_rqdNames. May not be less than zero, or greater than the lesser of [acosbsbc_cfgVars.size() - 1]
and [as_rqdNames.length - 1]
.
@param as_rqdNames The array of required names. May not be null or less than [i_idx + 1]
elements in length, and the i_idx-th element must equal the name of the i_idx-th element in acosbsbc_cfgVars.
@return getValueSB(getsb_sb_c(acosbsbc_cfgVars, i_idx, as_rqdNames))
**/
public final StringBuffer getValueSB(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
sb_sb_c sbsbc = getsb_sb_cIfRightName(acosbsbc_cfgVars, i_idx, as_rqdNames);
return getValueSB(sbsbc);
}
private sb_sb_c getsb_sb_cIfRightName(VWObject acosbsbc_cfgVars, int i_idx, String s_rqdName) {
sb_sb_c sbsbc = getsb_sb_c(acosbsbc_cfgVars, i_idx);
//Do not have to catch npx, because *if* they provided
//s_rqdName as null, then they'd get an exception
//because of an ambiguous reference to
//getXValue(sbsbc,i,s) and getXValue(sbsbc,i,s[])
if(!s_rqdName.equals(getNameString(sbsbc))) {
throwAX("getValueString: Config variable at element i_idx (" + i_idx + ") in acosbsbc_cfgVars has the name '" + getNameString(sbsbc) + "', but s_rqdName is '" + s_rqdName + "'.");
}
return sbsbc;
}
private sb_sb_c getsb_sb_cIfRightName(VWObject acosbsbc_cfgVars, int i_idx, String[] as_rqdNames) {
//Do not have to catch npx, because *if* they provided
//as_rqdNames as null, then they'd get an exception
//because of an ambiguous reference to
//getXValue(sbsbc,i,s) and getXValue(sbsbc,i,s[])
try {
if(!as_rqdNames[i_idx].equals(getNameString(acosbsbc_cfgVars, i_idx))) {
throwAX("getValueString: Config variable at element i_idx (" + i_idx + ") in acosbsbc_cfgVars has the name '" + getNameString(acosbsbc_cfgVars, i_idx) + "', but as_rqdNames[i_idx] is '" + as_rqdNames[i_idx] + "'.");
}
} catch(ArrayIndexOutOfBoundsException aioobx) {
throwAX("getValueString: i_idx (" + i_idx + ") is an invalid index for as_rqdNames (length=" + as_rqdNames.length + ").");
}
return getsb_sb_c(acosbsbc_cfgVars, i_idx);
}
}