public boolean filterTarget ( final T filteringTarget , final V referencingObject ) { logger . debug ( String . format ( "start filtering '%s' with factor filter for '%s'" , filteringTarget == null ? "(null)" : filteringTarget . toString ( ) , this . getName ( ) ) ) ; final Collection < FactorFilter < T , V > > filterList = this . factorFilterList . values ( ) ; boolean result = true ; for ( final FactorFilter < T , V > filter : filterList ) { result &= filter . filterTarget ( filteringTarget , referencingObject ) ; logger . debug ( String . format ( "[Factor: %s] filter result : %s " , filter . getFactorName ( ) , result ) ) ; if ( ! result ) { break ; } } logger . debug ( String . format ( "Final filtering result : %s " , result ) ) ; return result ; }
function to analyze the target item according to the reference object to decide whether the item should be filtered .