11/*
2- * Copyright 2012-2015 MarkLogic Corporation
2+ * Copyright 2012-2016 MarkLogic Corporation
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
3333import com .marklogic .client .pojo .PojoRepository ;
3434import com .marklogic .client .semantics .GraphManager ;
3535import com .marklogic .client .semantics .SPARQLQueryManager ;
36+ import com .marklogic .client .DatabaseClientFactory .Authentication ;
37+ import com .marklogic .client .DatabaseClientFactory .SSLHostnameVerifier ;
38+
39+ import javax .net .ssl .SSLContext ;
3640
3741/**
3842 * A Database Client instantiates document and query managers and other objects
@@ -115,10 +119,14 @@ public interface DatabaseClient {
115119 */
116120 public ServerConfigurationManager newServerConfigManager ();
117121
118- /** Creates a manager for CRUD operations on semantic graphs. */
122+ /** Creates a manager for CRUD operations on semantic graphs.
123+ * @return the new GraphManager instance
124+ */
119125 public GraphManager newGraphManager ();
120126
121- /** Creates a manager for executing SPARQL queries and retrieving results. */
127+ /** Creates a manager for executing SPARQL queries and retrieving results.
128+ * @return the new SPARQLQueryManager instance
129+ */
122130 public SPARQLQueryManager newSPARQLQueryManager ();
123131
124132 /**
@@ -130,6 +138,8 @@ public interface DatabaseClient {
130138 * @param clazz the class type for this PojoRepository to handle
131139 * @param idClass the class type of the id field for this clazz, must obviously
132140 * be Serializable or we'll struggle to marshall it
141+ * @param <T> the pojo type this PojoRepository will manage
142+ * @param <ID> the scalar type of the id for pojos of type <T>
133143 * @return the initialized PojoRepository
134144 **/
135145 public <T , ID extends Serializable > PojoRepository <T , ID > newPojoRepository (Class <T > clazz , Class <ID > idClass );
@@ -139,6 +149,7 @@ public interface DatabaseClient {
139149 *
140150 * @param resourceName the name of the extension resource
141151 * @param resourceManager the manager for the extension resource
152+ * @param <T> the type of ResourceManager to init for the extension resource
142153 * @return the initialized resource manager
143154 */
144155 public <T extends ResourceManager > T init (String resourceName , T resourceManager );
@@ -182,6 +193,23 @@ public interface DatabaseClient {
182193 * xdbc:invoke privilege. If this DatabaseClient is pointed at a database different
183194 * than the default for this REST server, you will need the xdbc:eval-in or xdbc:invoke-in
184195 * privilege.
196+ * @return the new ServerEvaluationCall instance
185197 */
186- public ServerEvaluationCall newServerEval ();
198+ public ServerEvaluationCall newServerEval ();
199+
200+ public String getHost ();
201+
202+ public int getPort ();
203+
204+ public String getDatabase ();
205+
206+ public String getUser ();
207+
208+ public String getPassword ();
209+
210+ public Authentication getAuthentication ();
211+
212+ public SSLContext getSSLContext ();
213+
214+ public SSLHostnameVerifier getSSLHostnameVerifier ();
187215}
0 commit comments