Credit Card Fraud Detection Engine using Predicate Functional Interface | Java 8 Real-Time Example

 Hi All,

Today I have released new video on "Credit Card Fraud Detection Engine using Predicate Functional Interface | Java 8 Real-Time Example"

This is frequently asked question in Java Interview.

Please watch full video, share, like and Subscribe Youtube channel and press bell icon. So you will get latest video notification.

 

Credit Card Fraud Detection Engine using Predicate Functional Interface | Java 8 Real-Time Example




 package org.practice.basicprgms;


public class CreditCardTransaction {


private String cardNumber;

private String customerName;

private double amount;

private String country;

private boolean newDevice;

private boolean midNightTransaction;

public CreditCardTransaction(String cardNumber, String customerName, double amount, String country,

boolean newDevice, boolean midNightTransaction) {

super();

this.cardNumber = cardNumber;

this.customerName = customerName;

this.amount = amount;

this.country = country;

this.newDevice = newDevice;

this.midNightTransaction = midNightTransaction;

}


public String getCardNumber() {

return cardNumber;

}


public void setCardNumber(String cardNumber) {

this.cardNumber = cardNumber;

}


public String getCustomerName() {

return customerName;

}


public void setCustomerName(String customerName) {

this.customerName = customerName;

}


public double getAmount() {

return amount;

}


public void setAmount(double amount) {

this.amount = amount;

}


public String getCountry() {

return country;

}


public void setCountry(String country) {

this.country = country;

}


public boolean isNewDevice() {

return newDevice;

}


public void setNewDevice(boolean newDevice) {

this.newDevice = newDevice;

}


public boolean isMidNightTransaction() {

return midNightTransaction;

}


public void setMidNightTransaction(boolean midNightTransaction) {

this.midNightTransaction = midNightTransaction;

}


@Override

public String toString() {

return "CreditCardTransaction [cardNumber=" + cardNumber + ", customerName=" + customerName + ", amount="

+ amount + ", country=" + country + ", newDevice=" + newDevice + ", midNightTransaction="

+ midNightTransaction + "]";

}

}


package org.practice.basicprgms;


import java.util.Arrays;

import java.util.List;

import java.util.function.Predicate;


public class CreditCardFraudDetection {


public static void main(String[] args) {

List<CreditCardTransaction> transactions =

Arrays.asList(

new CreditCardTransaction("TXN101", "4597-XXXX-XXXX-8745", 5000.00, "India", false, false),

new CreditCardTransaction("TXN102", "4787-XXXX-XXXX-9345", 9000.00, "India", false, false),

new CreditCardTransaction("TXN103", "4963-XXXX-XXXX-8743", 15000.00, "India", false, false),

new CreditCardTransaction("TXN104", "4717-XXXX-XXXX-0005", 500000.00, "Koria", true, true),

new CreditCardTransaction("TXN105", "9997-XXXX-XXXX-8793", 5000.00, "India", false, false)

);

Predicate<CreditCardTransaction> fradTransaction =

txn -> txn.getAmount() > 100000 &&

txn.isNewDevice() &&

txn.isMidNightTransaction() &&

!txn.getCountry().equalsIgnoreCase("India");

transactions.stream()

.filter(fradTransaction)

.forEach(System.out::println);

}

}


output:

CreditCardTransaction [cardNumber=TXN104, customerName=4717-XXXX-XXXX-0005, amount=500000.0, country=Koria, newDevice=true, midNightTransaction=true]


Post a Comment

0 Comments