KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jonathan > apis > resources > ChunkProvider


1 /***
2  * Jonathan: an Open Distributed Processing Environment
3  * Copyright (C) 1999 France Telecom R&D
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Release: 2.0
20  *
21  * Contact: jonathan@objectweb.org
22  *
23  * Author: Bruno Dumant
24  *
25  */

26
27
28 package org.objectweb.jonathan.apis.resources;
29
30 import org.objectweb.jonathan.apis.kernel.JonathanException;
31
32 /**
33  * Chunk providers are used to wrap input streams (like, e.g., socket input streams)
34  * in unmarshallers.
35  *
36  * @see org.objectweb.jonathan.apis.presentation.MarshallerFactory
37  */

38 public interface ChunkProvider {
39    
40    /**
41     * Returns a chunk to read data from.
42     * <p>
43     * When done with the chunk, its user must update its
44     * {@link Chunk#offset offset} and {@link Chunk#top top} members and
45     * {@link Chunk#release() release} it.
46     * <p>
47     * ChunkProviders should not be used concurrently.
48     *
49     * @return a chunk;
50     * @exception JonathanException if no chunk can be provided.
51     */

52    public Chunk prepare() throws JonathanException;
53
54    
55    /**
56     * Closes the chunk provider. This method must be called if the target provider
57     * is no longer used.
58     */

59    public void close();
60 }
61
62
63
Popular Tags