blob: f16e34d6d2cd67536a82b533c5b0c633056663fd [file] [log] [blame]
/*****************************************************************************
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License Version
* 1.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is available at http://www.sun.com/
* The Original Code is the CVS Client Library.
* The Initial Developer of the Original Code is Robert Greig.
* Portions created by Robert Greig are Copyright (C) 2000.
* All Rights Reserved.
* Contributor(s): Robert Greig.
*****************************************************************************/
package org.netbeans.lib.cvsclient.event;
import org.jetbrains.annotations.NonNls;
/**
* An event sent from the server to indicate that a message should be
* displayed to the user
* @author Robert Greig
*/
public final class TaggedMessageParser {
// Fields =================================================================
private final StringBuffer buffer = new StringBuffer();
@NonNls private static final String NEWLINE_MESSAGE = "newline";
// Accessing ==============================================================
public String getString() {
if (buffer.length() == 0) {
return null;
}
final String line = buffer.toString();
buffer.setLength(0);
return line;
}
// Actions ================================================================
public String parseTaggedMessage(String taggedMessage) {
if (taggedMessage.charAt(0) == '+' || taggedMessage.charAt(0) == '-') {
return null;
}
if (taggedMessage.equals(NEWLINE_MESSAGE)) {
return getString();
}
final int index = taggedMessage.indexOf(' ');
if (index > 0) {
buffer.append(taggedMessage.substring(index + 1));
}
return null;
}
}