Bug 19886 setProjectJavadocLocation() only in internal package [api] [javadoc]
If You want to set the project javadoc location by API so You have to use an internal class, there is no public interface. see class org.eclipse.jdt.internal.corext.javadoc.JavaDocLocations (Otherwise the method setLibraryJavadocLocation() is public at org.eclipse.jdt.ui.JavaUI - thats ok.)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/JavaUI.java
* Returns the Javadoc base URL for an element. The base location contains the
	 * index file. This location must not exist. Returns <code>null</code> if no javadoc location
	 * has been attached to the element's library or project.
	 * Example of a returned URL is <i>http://www.junit.org/junit/javadoc</i>.
	 * 
	 * @param The element for witch the doc URL is requested.
	 * 
	 * @since 2.0
	 */		
	public static URL getJavadocBaseLocation(IJavaElement element) throws JavaModelException {	
		return JavaDocLocations.getJavadocBaseLocation(element);
	}
	
	/**
	 * Returns the Javadoc URL for an element. Example of a returned URL is
	 * <i>http://www.junit.org/junit/javadoc/junit/extensions/TestSetup.html</i>.
	 * This returned location must not exist. Returns <code>null</code> if no javadoc location
	 * has been attached to the element's library or project.
	 * 
	 * @param The element for witch the doc URL is requested.
	 * @param includeAnchor If set, the URL contains an anchor for member references:
	 * <i>http://www.junit.org/junit/javadoc/junit/extensions/TestSetup.html#run(junit.framework.TestResult)</i>. Note
	 * that this involves type resolving and is a more expensive call than without anchor.
	 * 
	 * @since 2.0
	 */		
	public static URL getJavadocLocation(IJavaElement element, boolean includeAnchor) throws JavaModelException {
		return JavaDocLocations.getJavadocLocation(element, includeAnchor);
	}
}