In this article, we will discuss pre-defined Functional Interface in Java 1.8 version which performs some operation (processing) and returns value after processing but doesn’t take any input arguments i.e.; Supplier Functional Interface
1. Supplier Functional Interface:
- This Functional Interface has one abstract method called T get(); which
- Step 1 :- doesn’t take any input argument
- Step 2 :- performs some operation or processes
- Step 3 :- And return result of any data-type
- Below is the Supplier Functional interface containing get(); method
1 2 3 4 5 6 7 8 9 10 11 12 | package java.util.function; @FunctionalInterface public interface Supplier<T> { /** * Gets a result. * * @return a result */ T get(); } |
2. Examples for Supplier Functional Interface:
Example 1 – program to get current timestamp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package net.bench.resources.supplier.example; import java.sql.Timestamp; import java.util.function.Supplier; public class GetCurrentTimestamp { public static void main(String[] args) { // lambda expression to get current Timestamp Supplier<Timestamp> s = () -> new Timestamp(System.currentTimeMillis()); // invoke above Supplier FI to get print current Timestamp System.out.println(s.get()); } } |
Output:
1 | 2020-04-25 05:37:27.185 |
Example 2 – program to generate high security password of 8 digits for Customer login to Bank portal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package net.bench.resources.supplier.example; import java.util.function.Supplier; public class GenerateHighSecurityPassword { public static void main(String[] args) { // lambda expression to generate high security password using Supplier Supplier<StringBuffer> s = () -> { // local variable StringBuffer password = new StringBuffer(); // iterate through 8 times to generate unique number for ( int i= 0 ; i< 8 ; i++) { // append each ransom integer digit to StringBuffer password.append(( int )(Math.random() * 10 )); } // finally return password return password; }; // invoke above Supplier FI to print password for customer login System.out.println(s.get()); } } |
Output:
1 | 55212896 |
References:
- https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html
- https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
- https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html
Happy Coding !!
Happy Learning !!