org.altlinux.jabbix
Class JabbixReader

java.lang.Object
  extended by org.altlinux.jabbix.JabbixReader

public class JabbixReader
extends Object

Объект, инкапсулирующий процесс чтения из канала, и реализующий базовый протокол Jabbix.


Constructor Summary
JabbixReader(InputStream in)
          Создаёт объект, инкапсулирующий процесс чтения из указанного входного канала.
 
Method Summary
 String readAll()
          Читает из канала все имеющиеся данные
 String readMessage()
          Читает сообщение из входного канала.
 String readMessage(boolean untilEOF)
          Читает сообщение из входного канала.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JabbixReader

public JabbixReader(InputStream in)
Создаёт объект, инкапсулирующий процесс чтения из указанного входного канала.

Parameters:
in - канал для чтения
Method Detail

readMessage

public String readMessage(boolean untilEOF)
                   throws IOException,
                          JabbixProtocolException
Читает сообщение из входного канала. Если принимаемое сообщение составлено по протоколу Zabbix, то его длина определяется из заголовка. Иначе делается предположение о том, что конец сообщения будет обозначен символом-разделителем (см. JabbixProtocol.isSeparator(char)). Если указан флаг untilEOF, то в этом случае все имеющиеся в канале данные будут прочитаны и возвращены как единое сообщение.

Parameters:
untilEOF - флаг, уазывающий читать все имеющиеся данные
Returns:
сообщение
Throws:
IOException - если во время операции чтения возникло исключение ввода-вывода
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixProtocol.HEADER

readMessage

public String readMessage()
                   throws IOException,
                          JabbixProtocolException
Читает сообщение из входного канала. Длина сообщения либо указана явно в заголовке, либо определяется на основании положения символа-разделителя внутри сообщения (см. JabbixProtocol.isSeparator(char)).

Returns:
сообщение
Throws:
IOException - если во время операции чтения возникло исключение ввода-вывода
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixReader.readMessage(boolean)

readAll

public String readAll()
               throws IOException,
                      JabbixProtocolException
Читает из канала все имеющиеся данные

Returns:
сообщение, содержащее все прочитанные данные
Throws:
IOException - если во время операции чтения возникло исключение ввода-вывода
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixReader.readMessage(boolean)