OID/OIM is an implementation of LDAP. Java acess it by JNDL. (Actually, it has C API to access it as well.)
 
1. Put the jar file into the class path.
   
    Oracle\Middleware\jdeveloper\modules\oracle.ldap_11.1.1\ldapjclnt11.jar
 
2. Connecting method 1
 
import oracle.ldap.util.jndi        
import javax.naming.*;        
    
public static void main(String args[])        
{        
     try{        
             InitialDirContext ctx = ConnectionUtil.getDefaultDirCtx(args[0], // host        
                                                                                                                 args[1],     // port        
                                                                                                                 args[2],     // DN        
                                                                                                                 args[3];     // password)        
             // Do work        
         }        
     catch(NamingException ne)        
    {        
         // javax.naming.NamingException is thrown when an error occurs        
    }        
}    
 
3. Connecting method 2
 
import javax.naming.Context;        
import javax.naming.NamingException;        
import javax.naming.directory.InitialDirContext;        
    
import oracle.ldap.util.Group;        
import oracle.ldap.util.RootOracleContext;        
import oracle.ldap.util.Subscriber;        
import oracle.ldap.util.User;        
import oracle.ldap.util.Util;        
import oracle.ldap.util.UtilException;        
    
Hashtable<String, String> env = new Hashtable<String, String>();        
env.put(Context.INITIAL_CONTEXT_FACTORY, contextfactory);        
//oracle.ldap.util.jndi.LDAPJSSESocketFactoryImpl.class        
//oracle.ldap.util.jndi.LDAPTLSSocketFactoryImpl.class        
env.put(Context.PROVIDER_URL, url);        
env.put(Context.SECURITY_PRINCIPAL, principal);        
env.put(Context.SECURITY_CREDENTIALS, pwd);        
env.put(Context.SECURITY_AUTHENTICATION, "simple");        
    
InitialDirContext ctx = new InitialDirContext(env);        
RootOracleContext roc = new RootOracleContext(ctx);        
Subscriber myRealm = roc.getSubscriber(ctx, Util.IDTYPE_DEFAULT, null, new String[] { "*" });        
Group oneGroup = myRealm.getGroup(ctx, Util.IDTYPE_SIMPLE, groupName, new String[] { "*" });        
User myUser = myRealm.getUser(ctx, Util.IDTYPE_SIMPLE, userId, new String[] { "*" });        
String userDN = myUser.getDN(ctx);        
    
//oneGroup.isMember(ctx, myUser, false));        
//oneGroup.addUniquemember(ctx, userDN);        
//.....................................