Using Java API to subclass an object library using JAVA (without opening the FMB)

This java code simulate 'Drag and Drop' of an object group from and object library to a form to enhance object reuse.

mohammad abu-sheera from REALSOFT helped me in this code as well.

package mypackage;

 

import oracle.forms.jdapi.FormModule;

import oracle.forms.jdapi.Jdapi;

import oracle.forms.jdapi.JdapiIterator;

import oracle.forms.jdapi.ObjectGroup;

import oracle.forms.jdapi.ObjectLibrary;

import oracle.forms.jdapi.ObjectLibraryTab;

 

public class attach_it {

    public static void main(String[] args) {

      

      

        FormModule frm = FormModule.open("c:\\ammar.fmb");  -- This is form you want to subclass the object library to

          

        ObjectLibrary objlib = ObjectLibrary.open("c:\\ammar.olb"); -- this is the object library that contains the Object Group

        JdapiIterator tabs = objlib.getObjectLibraryTabs();   --  find the Tabs within the object library

        while (tabs.hasNext()){

             ObjectLibraryTab otabs = (ObjectLibraryTab)tabs.next();      

 

 --   The Tab contains only object libraries and therefore, type casting is of type

--  object library.  you could use other types or the general jdapiObject

              System.out.println(otabs.getName());

                 JdapiIterator  tabobj = otabs.getTabObjects();

                 while (tabobj.hasNext()) {

                 ObjectGroup myobj = (ObjectGroup)tabobj.next();

-- This create an Object Group in ammar.fmb and calls it OBJ_GRP.  The object group shall inherit all the properties within  myobj ObjectGroup

                            ObjectGroup newobj2 =   new ObjectGroup(frm, "OBJ_GRG", myobj); 

                   

                 }

 

        }

            frm.save("c:\\ammar.fmb");

 

            // finally, free API resources

            Jdapi.shutdown();

      

    }

}

 

Oracle Tips home

 

Ammar Sajdi

www.palco-me.com

www.realsoft-me.com