Skip to main content

Enhancement for JAVA Enhanced for loop

If you are coding in Java many time you had met well Known Exception while using enhanced for each loop.

Null Pointer Exception is unavoidable if you use Enhanced For Each Loop without checking NULL condition for your collection.

Example:

List<Object> objectList=null;
  for (Object object :objectList) {
  //operation on Object      
  }

Every time we have to check for Collection not to be Null.

To remove this ugly practice design utility method to check for NULL.
Like


public static <T> List<T> safe( List<T> list ) {
     return list == null ? Collections.EMPTY_LIST : list;
 }

Note that Collections.EMPTY_LIST will avoid allocating an extra object.It is immutable Object that can not be modified.

By using utility method you can avoid Null Pointer Exception .


List<Object> objectList=null;
 for (Object object : safe(objectList)) {
  //operation on Object      
 }
 



Thank you.


Popular posts from this blog

Share data between Iframe and its Parent using JQuery

There could be requirement that you have to pass variables values to Iframe from parent or in other scenario you have to pass values from Iframe to its parent.I am going to show simple example of above situation with the help of JQuery.
           Support we have parent HTML page having iframe included like below

<html> <body> <input id="parentValue" type="text" value="I am from Parent !" /> <iframe src="domainurl/relativepath" id="iframe"></iframe> <script> $(document).ready(function() { //code to take value from child iframe var childValue = $("#iframe").contents().find("#childValue").val(); alert(childValue); }); </script> </body> </html> 
        and we have frame code like below
<html> <body> <input id="childValue" type="text" value="I …

Spring Default Limit for Collection and Array is 256

If you are working in Web Application Development then you may stuck or already had ,then you will get mad of getting this error


java.lang.ArrayIndexOutOfBoundsException:Arrayindexoutofrange256
How this error emanates in Spring?

i will explain you with example.Suppose you are adding Values in List in JSP using JSTL tag or other.
This list is in Form(HTML).When you POST this form,In behind Stage,Spring does binding of Object and List if present.

But wait...
In Spring,Default limit for array and collection growing is 256.

Why this limit is Set?

seldom you have to send List size greater than this limit.
Spring has set this limit to avoid notable OutOfMemoryErrors in case of large indexes.

So,than What if i want to set Collection greater than this size?

I had told earlier,spring does binding behind.If we tell spring to increase it's size or set collection size behalf of spring.
You you can do it.

We have initBinder,  in Spring  it is called when spring does the binding mechanism
e.g @Mod…

Reload properties files without need to restart application

Properties files are the location where you most probably stores your configuration values and other that does not changes over time.

What if you have encountered with situation where you need to change your properties file and your application very large to restart/build ?

Apache has provides very beautiful util where you can reload properties file without need to restart your application.

It is part of Apache commons configuration package.

Your code will look like


I have removed try-catch block are removed for simplicity.
Below line reads your properties file from class-path

PropertiesConfiguration configuration = new PropertiesConfiguration("test-config.properties");


Here is the main part of this utility where we are specifying time period after which property file will be reloaded if it is changed. Time period is in milisecond.

configuration.setReloadingStrategy(new FileChangedReloadingStrategy());


Why FileChangedReloadingStrategy ?

   It looks for last modified date of p…