6

I'm trying to use a Java object in Coldfusion using the CreateObject function.

This works fine when the constructor in the Java class doesn't take any arguments e.g.:

MyObject myObject = new MyObject();

Goes to

myObject = CreateObject("java",  "com.something.MyObject");

But I'm not sure how to pass arguments to the constructor for code like this:

MyObject2 myObject2 = new MyObject2(myArgment);

I'm sure this should be really simple, but I can't find this anywhere.

Thanks,

Tom

Loftx
  • 1,691
  • 4
  • 27
  • 49

1 Answers1

16

You can pass them in the init method like this:

myObject = CreateObject("java",  "com.something.MyObject").init(constructorArg1, constructorarg2);

Note that if you do NOT call init at all then you will be working with only static methods of the object and not an instance.

ryber
  • 4,399
  • 1
  • 23
  • 46
  • 2
    Just to clarify, calling the init() method on a java object invokes that object's constructor. Init() is not a real method of the object and is used only to call the constructor: http://livedocs.adobe.com/coldfusion/8/htmldocs/Java_7.html – Leigh Dec 22 '09 at 16:55