-
Notifications
You must be signed in to change notification settings - Fork 89
/
SitemeshBuffer.java
58 lines (50 loc) · 1.58 KB
/
SitemeshBuffer.java
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
53
54
55
56
57
58
package com.opensymphony.module.sitemesh;
import java.io.IOException;
import java.io.Writer;
/**
* A potentially chained sitemesh buffer
*/
public interface SitemeshBuffer {
/**
* Get the char array for this buffer. This array may be longer than the length of the content, you must use
* getBufferLength() in combination with this method.
*
* @return The char array for this buffer
*/
char[] getCharArray();
/**
* Get the length of the buffered content.
*
* @return The length of the buffered content.
*/
int getBufferLength();
/**
* Get the total length of the buffered content, including the length of any chained buffers.
*
* @return The total length.
*/
int getTotalLength();
/**
* Get the total length of the buffered content, including chained buffers from start to length
*
* @param start Where to start counting the length from
* @param length Where to finish
* @return THe total length in the given range
*/
int getTotalLength(int start, int length);
/**
* Write this buffer, and any chained sub buffers in the given range, out to the given writer
*
* @param start The position to start writing from
* @param length The length to write
* @param writer The writer to write to
* @throws IOException If an error occurred
*/
void writeTo(Writer writer, int start, int length) throws IOException;
/**
* Whether the buffer has fragments or not
*
* @return True if it has fragments
*/
boolean hasFragments();
}