<commit_before>package com.ofg.bankstatement.parser;

import com.google.common.base.Predicate;
import com.ofg.loans.api.beans.payment.PaymentInfo;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import java.io.InputStream;
import java.util.List;

public interface BankStatementParser {

    List<PaymentInfo> importBankStatement(@CheckForNull InputStream is);

    boolean isApplicableFor(String fileName);

    public class ApplicableForPredicate implements Predicate<BankStatementParser> {

        private final String fileName;

        public ApplicableForPredicate(String fileName) {
            this.fileName = fileName;
        }

        @Override
        public boolean apply(@Nullable BankStatementParser bankStatementParser) {
            return bankStatementParser.isApplicableFor(fileName);
        }

    }
}<commit_msg>BankStatementParser applicapbleFor predicate done in java8 style<commit_after>package com.ofg.bankstatement.parser;

import com.google.common.base.Predicate;
import com.ofg.loans.api.beans.payment.PaymentInfo;

import javax.validation.constraints.NotNull;
import java.io.InputStream;
import java.util.List;

public interface BankStatementParser {

    List<PaymentInfo> importBankStatement(@NotNull InputStream is);

    boolean isApplicableFor(String fileName);

    public static Predicate<BankStatementParser> applicableFor(String fileName) {
        return p -> p.isApplicableFor(fileName);
    }

}
{'fraction_non_alphanumeric': 0.07928913192071087, 'fraction_numerical': 0.000683526999316473, 'mean_word_length': 4.442379182156134, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7322034', 'n_tokens_mistral': 397, 'n_tokens_neox': 391, 'n_words': 82}