Type Inference means that the data type of any expression (e.g. method return type or parameter type) can be deduced automatically by the compiler. Groovy language is a good example of programming languages supporting Type Inference. Similarly, Java 8 Lambda expressions also support Type inference. Let's understand how it works with a...
Java/JVM, Software development
Lambda expressions come with a standard rule that they can only be assigned to a reference variable which is a Functional Interface i.e. an interface having one and only one abstract method. Besides, a Lambda expression does not care about the name of a function and/ or any access specifier as it tries to infer this information from the...
Java/JVM, Software development
As we already know that Lambda Expressions are used to support functional programming in Java. The default behaviour of Lambda expressions is to accept only those interfaces as reference variables which have only one abstract method. We call such interfaces Functional Interfaces. You could also name them as SAM, i.e., Single Abstract...
Java/JVM, Software development
Lambda expressions are the most talked feature of Java 8. Lambda expressions drastically change the way we write the code in Java 8 as compared to what we used to, in older versions. Let' understand what lambda expression is and how it works. At first, you could think about lambda expressions as a way of supporting functional...
Json Schema has another interesting feature which allows value of some property of json schema to depend upon other fields value. This could be done using "dependencies" which allows specifying dependent object / property on the basis of value of the field which is using dependencies keyword. An interesting scenario could be where you...
There could be times when you end with a generously large schema with lots of redundant properties due to certain business requirements. Json schema comes with a good feature named as definitions. It is used to contain repeating properties in one place and then referencing these using $ref and also overriding some property if needed. ...
Groovy by default uses dynamic dispatch. Dynamic Dispatch could be defined as the capability of adding or replacing units of code at run time. For example, we can change the definition of a method or we can add new methods to a class at run time using metaprogramming in Groovy. Even after being a powerful feature of Groovy, there may...
Springboot support is provided by most of the build tools e.g. Gradle and Maven. Though grails 3.x comes with Springboot and gradle integration, there might come scenarios where you just want to create a very small and simple build that does specific task e.g. a build that will just run some threads and trigger some rabbitmq messages. Now...
SpringBoot is one of the main projects of Spring community which takes opinionated view of production ready applications. It helps you getting up and running a production grade spring application. It comes with even a CLI to get you quick started with springboot. CLI stands for Command Line Interface which gives *spring* command using...
In grails app, there might come scenarios where one need to create a non-persistent domain rather than creating a command obejct or POJO / POGO. GORM comes with a handy static property mapWith which has default value GORM (which associates any domain with gorm persistence layer). To make a domain non persistent set mapWith="none". For...
The moment I reached home.Thoughts started buzzing with the conjoining thought of sharing these thoughts with you all. Day 1 @Intelligrape : With perplexed thoughts in my mind, I settled myself down to Sofa at reception . My intellect was in panic as thoughts were bamboozling me while I was pretending to be relaxed.And soon...