public void validateParameters(StatementBlock sb) throws LanguageException {
  for (  String varName : _otherParams.keySet())   if (!(varName.equals(CLASS_NAME) || varName.equals(EXEC_TYPE) || varName.equals(CONFIG_FILE))) {
    LOG.warn(printWarningLocation() + "External function specifies undefined attribute type '" + varName+ "'.");
  }
  if (!_otherParams.containsKey(CLASS_NAME)) {
    sb.raiseValidateError("External function does not specify the required attribute '" + CLASS_NAME + "'.",false);
  }
 else   if (_otherParams.get(CLASS_NAME) == null) {
    sb.raiseValidateError("External function specifies empty '" + CLASS_NAME + "'.",false);
  }
  if (_otherParams.containsKey(EXEC_TYPE)) {
    String execType=_otherParams.get(EXEC_TYPE);
    if (!(execType.equals(FILE_BASED) || execType.equals(IN_MEMORY))) {
      sb.raiseValidateError("External function specifies invalid value for (optional) attribute '" + EXEC_TYPE + "' (valid values: "+ FILE_BASED+ ","+ IN_MEMORY+ ").",false);
    }
  }
 else {
    _otherParams.put(EXEC_TYPE,DEFAULT_EXEC_TYPE);
  }
}

public void validateParameters ( StatementBlock sb ) throws LanguageException { for ( String varName : _otherParams . keySet ( ) ) if ( ! ( varName . equals ( CLASS_NAME ) || varName . equals ( EXEC_TYPE ) || varName . equals ( CONFIG_FILE ) ) ) { LOG . warn ( printWarningLocation ( ) + "External function specifies undefined attribute type '" + varName + "'." ) ; } if ( ! _otherParams . containsKey ( CLASS_NAME ) ) { sb . raiseValidateError ( "External function does not specify the required attribute '" + CLASS_NAME + "'." , false ) ; } else if ( _otherParams . get ( CLASS_NAME ) == null ) { sb . raiseValidateError ( "External function specifies empty '" + CLASS_NAME + "'." , false ) ; } if ( _otherParams . containsKey ( EXEC_TYPE ) ) { String execType = _otherParams . get ( EXEC_TYPE ) ; if ( ! ( execType . equals ( FILE_BASED ) || execType . equals ( IN_MEMORY ) ) ) { sb . raiseValidateError ( "External function specifies invalid value for (optional) attribute '" + EXEC_TYPE + "' (valid values: " + FILE_BASED + "," + IN_MEMORY + ")." , false ) ; } } else { _otherParams . put ( EXEC_TYPE , DEFAULT_EXEC_TYPE ) ; } }
validates all attributes and attribute values .
