1 /*
2 * This file is part of AceLogger.
3 *
4 * AceLogger is free software: you can redistribute it and/or modify it under the terms of the GNU
5 * Lesser General Public License as published by the Free Software Foundation, either version 3 of
6 * the License, or (at your option) any later version.
7 *
8 * AceLogger is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
9 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * Lesser General Public License for more details.
11 *
12 * You should have received a copy of the GNU Lesser General Public License along with AceLogger.
13 * If not, see <http://www.gnu.org/licenses/lgpl-3.0.html>.
14 */
15 package net.sourceforge.acelogger.appender.stream;
16
17 import java.io.Serializable;
18 import java.nio.ByteBuffer;
19
20 public interface LogStream {
21
22 public void openStream() throws LogStreamException;
23
24 public void initializeStream() throws LogStreamException;
25
26 public void flushStream() throws LogStreamException;
27
28 public void haltStream() throws LogStreamException;
29
30 public void closeStream() throws LogStreamException;
31
32 public boolean isSynchronous();
33
34 public boolean isAutoFlushEnabled();
35
36 public void appendStringData(String data);
37
38 public void appendBinnaryData(byte[] data);
39
40 public void appendBinnaryData(ByteBuffer data);
41
42 public void appendObject(Serializable data);
43
44 }