Posts

Default and Static methods in Java8

Image
Java 8 introduces a new concept of default and static method implementation in interfaces. Before Java 8, interfaces could have only abstract methods but now It allows the interfaces to have methods with implementation without affecting the classes that implement the interface and provides backward comparability so that existing interfaces can use the lambda expressions without implementing the methods in the implementation class. Eg: Now List or Collection has forEach method declaration which is only possible because of default declaration.  Default Method: The default methods are also known as   defender methods   or   virtual extension methods and are defined inside the interface and tagged with default. These methods are non-abstract methods. What about Multiple Inheritance? As we know adding method definitions in interfaces can add ambiguity in multiple Inheritance and if a java class implement multiple ...

Mocking in Java using Mockito

Image
Before talking about Mockito Framework. Let’s see why do we need it at the first place and how it can be helpful. Last year, I was working on one project which talks to other third party services as well as with the database connection and to test the functionality of my application, third party application should be up and running. There can be a chance where all these services might not available during unit testing. As you can see, your application is completely dependent on other application and what if: Third party application is down              You cannot connect to database to test your functionality At such situation, mocking becomes a natural solution for unit testing. Using Mockito, you don’t really need a database connection. You just need a mock object that returns the expected result. Mockito: Introduction Mockito is a mocking framework, the JAVA-based library that is used for effective unit tes...

OAuth vs SSO: Which One Should I Use?

Image
Currently, I am working on one project which provided me a lot of opportunities to learn about OAuth 2.0 and SAML and better understanding on which one to choose for SSO strategy. I am choosing this topic because most of the people get confused between these two. While they have some similarities but they are very different too and to put it one line. I would say “OAuth is not Single Sign-On” What is the difference between OAuth 2.0 and SSO? OAuth (Open Authorization) is a standard for authorization of resources. It does not deal with authentication. It allows secure authorization in a simple and standard method from web, mobile and desktop applications. If you try to log into Stack Overflow using Facebook, you’ll be redirected to Facebook’s website and will see something like the following: Once authenticated with Facebook, it will ask for Stack Overflow’s permission to access your resources l ike your name, Email id, Profile picture and so on. This is an authoriz...