Skip to content

Commit 96827ac

Browse files
committed
clarify that the eval methods throw certain runtime exceptions
1 parent 836285e commit 96827ac

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

src/main/java/com/marklogic/client/eval/ServerEvaluationCall.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package com.marklogic.client.eval;
1717

18+
import com.marklogic.client.FailedRequestException;
19+
import com.marklogic.client.ForbiddenUserException;
1820
import com.marklogic.client.Transaction;
1921
import com.marklogic.client.io.marker.AbstractReadHandle;
2022
import com.marklogic.client.io.marker.AbstractWriteHandle;
@@ -37,7 +39,10 @@ public interface ServerEvaluationCall {
3739
public ServerEvaluationCall transaction(Transaction transaction);
3840
public ServerEvaluationCall addNamespace(String prefix, String namespaceURI);
3941
public ServerEvaluationCall namespaceContext(EditableNamespaceContext namespaces);
40-
public <T> T evalAs(Class<T> responseType);
41-
public <H extends AbstractReadHandle> H eval(H responseHandle);
42-
public EvalResultIterator eval();
42+
public <T> T evalAs(Class<T> responseType)
43+
throws ForbiddenUserException, FailedRequestException;
44+
public <H extends AbstractReadHandle> H eval(H responseHandle)
45+
throws ForbiddenUserException, FailedRequestException;
46+
public EvalResultIterator eval()
47+
throws ForbiddenUserException, FailedRequestException;
4348
}

src/main/java/com/marklogic/client/impl/ServerEvaluationCallImpl.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import java.util.HashMap;
1919

2020
import com.marklogic.client.DatabaseClientFactory.HandleFactoryRegistry;
21+
import com.marklogic.client.FailedRequestException;
22+
import com.marklogic.client.ForbiddenUserException;
2123
import com.marklogic.client.Transaction;
2224
import com.marklogic.client.eval.EvalResultIterator;
2325
import com.marklogic.client.eval.ServerEvaluationCall;
@@ -131,7 +133,9 @@ public ServerEvaluationCall transaction(Transaction transaction) {
131133
}
132134

133135
@Override
134-
public <T> T evalAs(Class<T> responseType) {
136+
public <T> T evalAs(Class<T> responseType)
137+
throws ForbiddenUserException, FailedRequestException
138+
{
135139
if (responseType == null) throw new IllegalArgumentException("responseType cannot be null");
136140

137141
ContentHandle<T> readHandle = handleRegistry.makeHandle(responseType);
@@ -142,7 +146,9 @@ public <T> T evalAs(Class<T> responseType) {
142146
}
143147

144148
@Override
145-
public <H extends AbstractReadHandle> H eval(H responseHandle) {
149+
public <H extends AbstractReadHandle> H eval(H responseHandle)
150+
throws ForbiddenUserException, FailedRequestException
151+
{
146152
EvalResultIterator iterator = eval();
147153
try {
148154
if ( iterator == null || iterator.hasNext() == false ) return null;
@@ -151,7 +157,9 @@ public <H extends AbstractReadHandle> H eval(H responseHandle) {
151157
}
152158

153159
@Override
154-
public EvalResultIterator eval() {
160+
public EvalResultIterator eval()
161+
throws ForbiddenUserException, FailedRequestException
162+
{
155163
return services.postEvalInvoke(requestLogger, code, modulePath, evalContext,
156164
vars, namespaceContext, transactionId);
157165
}

0 commit comments

Comments
 (0)