diff --git a/src/com/katapios/DoubleElementGenerator.java b/src/com/katapios/DoubleElementGenerator.java new file mode 100644 index 0000000..036f867 --- /dev/null +++ b/src/com/katapios/DoubleElementGenerator.java @@ -0,0 +1,8 @@ +package com.katapios; + +@FunctionalInterface +public interface DoubleElementGenerator { + + Double next(Double current); + +} diff --git a/src/com/katapios/GenericClass.java b/src/com/katapios/GenericClass.java new file mode 100644 index 0000000..af7350d --- /dev/null +++ b/src/com/katapios/GenericClass.java @@ -0,0 +1,9 @@ +package com.katapios; + +public class GenericClass { + + public T nextElement(T current){ + return current; + } + +} diff --git a/src/com/katapios/IntElementGenerator.java b/src/com/katapios/IntElementGenerator.java new file mode 100644 index 0000000..4663df8 --- /dev/null +++ b/src/com/katapios/IntElementGenerator.java @@ -0,0 +1,8 @@ +package com.katapios; + +@FunctionalInterface +public interface IntElementGenerator { + + Integer next(Integer current); + +} diff --git a/src/com/katapios/Main.java b/src/com/katapios/Main.java index 4e65157..58080bd 100644 --- a/src/com/katapios/Main.java +++ b/src/com/katapios/Main.java @@ -3,31 +3,16 @@ public class Main { public static void main(String[] args) { + GenericClass genericClass = new GenericClass(); - //making an instance - MakeMySocClass instSoc = new MakeMySocClass(); + IntElementGenerator nextIntElement = genericClass::nextElement; + DoubleElementGenerator nextDoubleElement = genericClass::nextElement; + StringElementGenerator nextStringElement = genericClass::nextElement; - //link to interface - instance version - MakeSocInterface mySoc = instSoc::instanceSoc; - - String socClass = mySoc.drink(); - String socClass2 = mySoc.drink(); - String socClass3 = mySoc.drink(); - System.out.println(socClass); - System.out.println(socClass2); - System.out.println(socClass3); - - System.out.println(""); - - //link to interface - static version - MakeSocInterface statSoc = MakeMySocClass::staticSoc; - - String myStatSoc = statSoc.drink(); - String myStatSoc2 = statSoc.drink(); - String myStatSoc3 = statSoc.drink(); - System.out.println(myStatSoc); - System.out.println(myStatSoc2); - System.out.println(myStatSoc3); + //IntElementGenerator nextElementInt = genericClass::nextElement; + System.out.println(nextIntElement.next(12)); + System.out.println(nextDoubleElement.next(12.0)); + System.out.println(nextStringElement.next("12")); } } diff --git a/src/com/katapios/MakeMySocClass.java b/src/com/katapios/MakeMySocClass.java deleted file mode 100644 index 94ff75a..0000000 --- a/src/com/katapios/MakeMySocClass.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.katapios; - -public class MakeMySocClass { - - private int instanceIter = 1; - private static int staticIter = 1; - - //instance - public String instanceSoc() { - return "Drink my instance sok " + instanceIter++; - } - - //static - public static String staticSoc() { - return "Drink my static sok " + staticIter++; - } - -} \ No newline at end of file diff --git a/src/com/katapios/MakeSocInterface.java b/src/com/katapios/MakeSocInterface.java deleted file mode 100644 index 0c67ca2..0000000 --- a/src/com/katapios/MakeSocInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.katapios; - -@FunctionalInterface -public interface MakeSocInterface { - String drink(); -} \ No newline at end of file diff --git a/src/com/katapios/StringElementGenerator.java b/src/com/katapios/StringElementGenerator.java new file mode 100644 index 0000000..217b5b1 --- /dev/null +++ b/src/com/katapios/StringElementGenerator.java @@ -0,0 +1,8 @@ +package com.katapios; + +@FunctionalInterface +public interface StringElementGenerator { + + String next(String current); + +}