An annotation is a form of syntactic metadata that provides data about a program but is not part of the program itself. Annotations have no direct effect on the operation of the code they are added to.
In Java, annotations can also be embedded in and read from Java class files generated by the Java compiler which allows annotations to be retained by the Java virtual machine at run-time and read via reflection.
Annotations can be used for the following:
This article shows how to leverage custom annotations to mark specific web service requests for caching in Retrofit. This is because we usually have a single Retrofit instance to make web service requests to the server. Therefore, it is necessary to devise a means of identifying requests that should be cached. …
Firebase provides a powerful, simple, and cost-effective object cloud storage service. Also, the Firebase SDK adds Google security to file uploads and downloads. The SDK can be used to store images, files, videos, and other user-generated content.
This article seeks to achieve the following:
In my previous article, the Strategy design pattern was used to develop a spring-boot application that uploads and downloads files using either local file storage or AWS storage implementation depending on the specified profile(development or production). …
The android work manager API runs deferrable, guaranteed background work when specified constraints are satisfied. The API also supports both asynchronous one-off and periodic tasks. For more about Android WorkManager, please read the following articles:
The Strategy design pattern is a behavioral software design pattern that defines a family of algorithms, encapsulates each one, and makes them interchangeable. It enables the selection of the clients at runtime. The Strategy pattern is flexible since it defers the decision about which algorithm to use until runtime.
To find out more about the Strategy design pattern and the ideal scenarios for use, please see the reference section.
In this post, I’ll explain how I leveraged the strategy design pattern to solve my challenge.
To be able to handle multiple email clients and storage types depending on the environment or profile in which the application is running.
My project requires that Gmail client and local file storage be used for sending mails and storing files respectively while working locally[dev-profile]. …
Recently I started a small project which required authentication and authorization. As a Java developer familiar with spring boot, I decided to leverage on spring boot to deliver the goods.
One key decision I made early on was to use JWT for authentication and authorization as I have read about the stateless capacity of JWTs.
However, along the line, I encountered some issues and made some personal findings that form the core of this article.
Disclaimer: As the title suggests, the views expressed here are based on my experience with JWTs which is meant to elicit opinions and expand the discussion about JWTs and it’s inherent capacities. …
They cut her deep
She was so young and naive
She couldn’t restrain
Mothers danced and made merry
This would make her strong on this journey
At least they thought…
Years went by, the scars remain
Her seams begin to crack,
Nothing to hold on to
She’s been held hostage by a ritual
She’s been bruised and broken
by this psychologically tainted philosophy
Every night is a reminder
Of this never-ending horror.
The gentleness of his touch
And tenderness of his caress
Brings back ugly memories…
He so hated him
He would vex at the sight of him
He’s not fit for a man, talk more of a father
Shameless, heartless and loveless
Were his traits
Deep down he hoped for a change
At least, to the days he was truly his hero
What happened is still a blur
And His future seems unsure
Same story, different people
Is it genetics or coincidence?
That he’s becoming the man he had despised…
As an engineering graduate, Newton’s laws of motion is an integral part engineering systems. For me, they are not mere scientific or engineering laws as I strongly believe that they are fundamental universal truths that cut across religion, race and creed, and upon which I try to live after.
Newton’s laws of motion describe the relationship between a body and the forces acting upon it, and its motion in response to those forces. …
Relation is a convenience annotation which can be used in a Pojo to automatically fetch relation entities. When the Pojo is returned from a query, all of its relations are also fetched by Room.
There are tons of resources on Room persistence library, you might want to check them out.
The scenario we would explore in this article is that of a hypothetical publishing company that has several authors whose books they publish. Furthermore, these Authors may have one or more Books published by the publishing firm.
The above relationship can be best described as a nested one-to-many relationship. …