Skip to main content
summaryrefslogtreecommitdiffstats
blob: fb0760d88e364784e97c8695bb773b7bcff73707 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*******************************************************************************
 * Copyright (c) 2010-2011 Composent, Inc. and others. All rights reserved. This
 * program and the accompanying materials are made available under the terms of
 * the Eclipse Public License v1.0 which accompanies this distribution, and is
 * available at http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   Composent, Inc. - initial API and implementation
 ******************************************************************************/
package org.eclipse.ecf.osgi.services.remoteserviceadmin;

import java.io.IOException;
import java.io.InputStream;

/**
 * Service for reading endpoint descriptions from xml-files in the Endpoint
 * Description Extender Format (EDEF) specified in section 122.8 of the <a
 * href="http://www.osgi.org/download/r4v42/r4.enterprise.pdf">OSGi Enterprise
 * Specification</a>. The InputStream provided must be of the EDEF format,
 * otherwise an IOException or EndpointDescriptionParseException will be thrown.
 * 
 */
public interface IEndpointDescriptionReader {

	/**
	 * Read endpoint descriptions from the given input stream. The ins parameter
	 * must not be <code>null</code>, and must provide data in the Endpoint
	 * Description Extender Format (EDEF) specified in section 122.8 of the <a
	 * href="http://www.osgi.org/download/r4v42/r4.enterprise.pdf">OSGi
	 * Enterprise Specification</a>.
	 * 
	 * @param ins
	 *            the input stream to read from. Must be non-<code>null</code>,
	 *            and must provide data in the format specified the EDEF
	 *            specification (see link above).
	 * @return array of
	 *         {@link org.osgi.service.remoteserviceadmin.EndpointDescription}
	 *         instance read from the given input stream.
	 * 
	 * @throws IOException
	 *             if the inputstream does not have valid data in the EDE
	 *             format. Note that the implementation of this method may call
	 *             {@link InputStream#close()}.
	 * 
	 * @throws EndpointDescriptionParseException
	 *             if the EDE format cannot be parsed from the input stream.
	 */
	public org.osgi.service.remoteserviceadmin.EndpointDescription[] readEndpointDescriptions(
			InputStream ins) throws IOException,
			EndpointDescriptionParseException;

}

Back to the top