JNDI LDAP Java

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
public class Main {
  public static void main(String[] argv) throws Exception {
    SearchControls ctls = new SearchControls();
    ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);
    String filter = "(&(sn=YourName)(mail=*))";
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "yourURL");
    DirContext ctx = new InitialDirContext(env);
    NamingEnumeration e = ctx.search("", filter, ctls);
    while (e.hasMore()) {
      SearchResult entry = (SearchResult) e.next();
      System.out.println(entry.getName());
    }
  }
}