The best tutorial material is the handouts from the regular training course, which are available at http://gate.ac.uk/wiki (look for the latest "training course participants' wiki"). In particular module 5 talks about calling the GATE APIs from Java code.
I dont want to use the GUI. I am looking to use it in my own java program.
Even if you don't want to use the GUI in your production system we always recommend that you get your pipeline set up and tested in the GUI to start with. When you're happy it does what you want then you use "save application state" or "export for GATECloud.net" to save the application and then your code can just use PersistenceManager.loadObjectFromFile
to load the fully-configured pipeline without having to first load the correct plugins and then assemble the pipeline components by hand.