~ubuntu-branches/ubuntu/utopic/jetty/utopic-proposed

« back to all changes in this revision

Viewing changes to modules/jetty/src/main/java/org/mortbay/jetty/Generator.java

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2009-08-09 08:48:10 UTC
  • Revision ID: james.westby@ubuntu.com-20090809084810-k522b97ind2robyd
ImportĀ upstreamĀ versionĀ 6.1.19

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//========================================================================
 
2
//Copyright 2006 Mort Bay Consulting Pty. Ltd.
 
3
//------------------------------------------------------------------------
 
4
//Licensed under the Apache License, Version 2.0 (the "License");
 
5
//you may not use this file except in compliance with the License.
 
6
//You may obtain a copy of the License at 
 
7
//http://www.apache.org/licenses/LICENSE-2.0
 
8
//Unless required by applicable law or agreed to in writing, software
 
9
//distributed under the License is distributed on an "AS IS" BASIS,
 
10
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
11
//See the License for the specific language governing permissions and
 
12
//limitations under the License.
 
13
//========================================================================
 
14
 
 
15
 
 
16
package org.mortbay.jetty;
 
17
 
 
18
import java.io.IOException;
 
19
 
 
20
import org.mortbay.io.Buffer;
 
21
 
 
22
public interface Generator
 
23
{
 
24
    public static final boolean LAST=true;
 
25
    public static final boolean MORE=false;
 
26
 
 
27
    /* ------------------------------------------------------------ */
 
28
    /**
 
29
     * Add content.
 
30
     * 
 
31
     * @param content
 
32
     * @param last
 
33
     * @throws IllegalArgumentException if <code>content</code> is {@link Buffer#isImmutable immutable}.
 
34
     * @throws IllegalStateException If the request is not expecting any more content,
 
35
     *   or if the buffers are full and cannot be flushed.
 
36
     * @throws IOException if there is a problem flushing the buffers.
 
37
     */
 
38
    void addContent(Buffer content, boolean last) throws IOException;
 
39
 
 
40
    /* ------------------------------------------------------------ */
 
41
    /**
 
42
     * Add content.
 
43
     * 
 
44
     * @param b byte
 
45
     * @return true if the buffers are full
 
46
     * @throws IOException
 
47
     */
 
48
    boolean addContent(byte b) throws IOException;
 
49
 
 
50
    void complete() throws IOException;
 
51
 
 
52
    void completeHeader(HttpFields responseFields, boolean last) throws IOException;
 
53
 
 
54
    long flush() throws IOException;
 
55
 
 
56
    int getContentBufferSize();
 
57
 
 
58
    long getContentWritten();
 
59
    
 
60
    boolean isContentWritten();
 
61
 
 
62
    void increaseContentBufferSize(int size);
 
63
    
 
64
    boolean isBufferFull();
 
65
 
 
66
    boolean isCommitted();
 
67
 
 
68
    boolean isComplete();
 
69
 
 
70
    boolean isPersistent();
 
71
 
 
72
    void reset(boolean returnBuffers);
 
73
 
 
74
    void resetBuffer();
 
75
 
 
76
    void sendError(int code, String reason, String content, boolean close) throws IOException;
 
77
    
 
78
    void setHead(boolean head);
 
79
 
 
80
    void setRequest(String method, String uri);
 
81
 
 
82
    void setResponse(int status, String reason);
 
83
 
 
84
 
 
85
    void setSendServerVersion(boolean sendServerVersion);
 
86
 
 
87
    void setVersion(int version);
 
88
 
 
89
    boolean isIdle();
 
90
 
 
91
    void setContentLength(long length);
 
92
    
 
93
    void setPersistent(boolean persistent);
 
94
    
 
95
 
 
96
}