File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Singleton Design Pattern Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Singleton Design Pattern" Watch "Singleton Design Pattern" New topic

Singleton Design Pattern

Abu Nene
Ranch Hand

Joined: Nov 13, 2008
Posts: 56
Hi all, in singleton design pattern. We normally have a method call getInstance() which takes in no argument. I'm wondering is it ok to pass in a parameter, for eg. java.sql.Connection to retrieve record from the database?
Joanne Neal

Joined: Aug 05, 2005
Posts: 3742
You can do anything you want, but the normal purpose of the getInstance() method in a singleton class is to return an instance of the class. You then use that instance to call other methods of the class to do whatever processing you want.

Rob Spoor

Joined: Oct 27, 2005
Posts: 20276

However, although a bit unusual for Singletons, you could use it to return a single instance for each different parameter value. So each connection can have only one instance.

Keep in mind though that at some time you want to clean up or your singleton's cache could keep increasing until you get a memory error.

How To Ask Questions How To Answer Questions
Abu Nene
Ranch Hand

Joined: Nov 13, 2008
Posts: 56
The purpose for this is to have only a single instance for a particular class but using the connection provided by different calling class.

Alternatively is there any wrong with a class with static methods which takes in a java.sql.Connection as one of the arguments?
I agree. Here's the link:
subject: Singleton Design Pattern
It's not a secret anymore!