src/aria/core/IOFiltersMgr.js
function (newFilter) {
                var filterInfo = {};
                if (typeUtils.isString(newFilter)) {
                    filterInfo.filterClasspath = newFilter;
                    filterInfo.initArgs = null;
                    this._filtersToBeLoaded++;
                } else if (typeUtils.isInstanceOf(newFilter, "aria.core.IOFilter")) {
                    if (this.isFilterPresent(newFilter)) {
                        this.$logError(this.FILTER_INSTANCE_ALREADY_PRESENT);
                        return false;
                    }
                    filterInfo.filterClasspath = newFilter.$classpath;
                    filterInfo.obj = newFilter;
                } else if (typeUtils.isObject(newFilter)) {
                    filterInfo.filterClasspath = newFilter.classpath;
                    filterInfo.initArgs = newFilter.initArgs;
                    this._filtersToBeLoaded++;
                } else {
                    this.$logError(this.INVALID_PARAMETER_FOR_ADDFILTER);
                    return false;
                }
                if (!this._filters) {
                    this._filters = [];
                }
                this._filters[this._filters.length] = filterInfo;
                return true;
            }
function (newFilter) {
                var filterInfo = {};
                if (typeUtils.isString(newFilter)) {
                    filterInfo.filterClasspath = newFilter;
                    filterInfo.initArgs = null;
                    this._filtersToBeLoaded++;
                } else if (typeUtils.isInstanceOf(newFilter, "aria.core.IOFilter")) {
                    if (this.isFilterPresent(newFilter)) {
                        this.$logError(this.FILTER_INSTANCE_ALREADY_PRESENT);
                        return false;
                    }
                    filterInfo.filterClasspath = newFilter.$classpath;
                    filterInfo.obj = newFilter;
                } else if (typeUtils.isObject(newFilter)) {
                    filterInfo.filterClasspath = newFilter.classpath;
                    filterInfo.initArgs = newFilter.initArgs;
                    this._filtersToBeLoaded++;
                } else {
                    this.$logError(this.INVALID_PARAMETER_FOR_ADDFILTER);
                    return false;
                }
                if (!this._filters) {
                    this._filters = [];
                }
                this._filters[this._filters.length] = filterInfo;
                return true;
            }
function ( newFilter ) { var filterInfo = { } ; if ( typeUtils . isString ( newFilter ) ) { filterInfo . filterClasspath = newFilter ; filterInfo . initArgs = null ; this . _filtersToBeLoaded ++ ; } else if ( typeUtils . isInstanceOf ( newFilter , "aria.core.IOFilter" ) ) { if ( this . isFilterPresent ( newFilter ) ) { this . $logError ( this . FILTER_INSTANCE_ALREADY_PRESENT ) ; return false ; } filterInfo . filterClasspath = newFilter . $classpath ; filterInfo . obj = newFilter ; } else if ( typeUtils . isObject ( newFilter ) ) { filterInfo . filterClasspath = newFilter . classpath ; filterInfo . initArgs = newFilter . initArgs ; this . _filtersToBeLoaded ++ ; } else { this . $logError ( this . INVALID_PARAMETER_FOR_ADDFILTER ) ; return false ; } if ( ! this . _filters ) { this . _filters = [ ] ; } this . _filters [ this . _filters . length ] = filterInfo ; return true ; }
Add an IO filter.
@param {MultiTypes} newFilter It can be one of the following possibilities:
<ul>
<li>An instance of a filter class.</li>
<li>An object containing two properties: classpath and initArgs. In this case, the filter class with the
given classpath will be instantiated when needed. Its constructor will be called with the given initArgs
parameter.</li>
<li>The classpath of a filter class (equivalent to the previous case, but with a null initArgs
parameter).</li>
</ul>
Note that a filter class must extend aria.core.IOFilter. Two different instances of the same filter class
can be added at the same time. However, the same instance cannot be added twice (in that case, an error
is logged and this method returns false).
@return {Boolean} Return true if the filter was successfully added and false if there was an error (in
this case, an error is logged).
Add an IO filter .