1 package com.ontotext.ordi.wsmo4rdf.remote.server;
2
3 import javax.jws.WebParam;
4 import javax.jws.WebService;
5
6 import com.ontotext.ordi.wsmo4rdf.WsmoSource;
7 import com.ontotext.ordi.wsmo4rdf.remote.exception.IllegalSourceNameException;
8 import com.ontotext.ordi.wsmo4rdf.remote.exception.ServiceLimitExceededException;
9
10 /**
11 * Provides for creation and destruction of local
12 * {@link com.ontotext.ordi.wsmo4rdf.WsmoSource WsmoSource} instances and their
13 * management by integer identifier.
14 *
15 * @author mihail.konstantinov@ontotex.com
16 *
17 */
18 @WebService
19 public interface RemoteFactory {
20
21 /**
22 * Creates locally a new {@link WsmoSource} with an integer identifier to
23 * access it later.
24 *
25 * @param sourceName
26 * an alphanumeric name of the WsmoSource by which the client identifies
27 * sources persisted between 2 executions of ORDI-WS
28 * @return integer identifier of the created WsmoSource
29 * @throws ServiceLimitExceededException
30 * if no more <code>WsmoSource</code>s could be handled
31 * @throws IllegalSourceNameException
32 * if <code>sourceName</code> is not an alphanumeric string
33 */
34 public int getNewWsmoSource(@WebParam(name = "sourceName")
35 final String sourceName) throws ServiceLimitExceededException, IllegalSourceNameException;
36
37 /**
38 * Destroys the local {@link WsmoSource} corresponding to the provided
39 * identifier.
40 *
41 * @param wsmoSourceId
42 * integer identifier of a <code>WsmoSource</code> to be
43 * destroyed.
44 * @return <b>true</b> if a <code>WsmoSource</code> of the given
45 * identifier exists and was destroyed and <b>false</b> otherwise
46 */
47 public boolean destroyWsmoSource(@WebParam(name = "wsmoSourceId")
48 final int wsmoSourceId);
49 }