package net.zuckerfrei.jcfd;
import java.io.IOException;
import java.io.StreamTokenizer;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
/**
* DOCUMENT ME!
*
* @author Davor Cengija
* @version $Revision: 1.1.1.1 $
*/
public class Response {
//~ Static variables/initializers =========================================
/** DOCUMENT ME! */
public static final String DATABASES_COUNT_FOLLOWS = "110";
/** DOCUMENT ME! */
public static final String STRATEGIES_COUNT_FOLLOWS = "111";
/** DOCUMENT ME! */
public static final String DEFINITIONS_COUNT_FOLLOWS = "150";
/** DOCUMENT ME! */
public static final String DEFINITION_FOLLOWS = "151";
/** DOCUMENT ME! */
public static final String CONNECTED = "220";
/** DOCUMENT ME! */
public static final String OK = "250";
/** DOCUMENT ME! */
public static final String INVALID_DATABASE = "550";
/** DOCUMENT ME! */
public static final String INVALID_STRATEGY = "551";
/** DOCUMENT ME! */
public static final String NO_MATCH = "552";
/** DOCUMENT ME! */
public static final String NO_DATABASES = "554";
/** DOCUMENT ME! */
public static final String NO_STRATEGIES = "555";
//~ Methods ===============================================================
/**
* Method isConnected.
*
* @param result
*
* @return boolean
*/
public static boolean isConnected(String result) {
return result.startsWith(CONNECTED);
}
/**
* DOCUMENT ME!
*
* @param result DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static boolean isOk(String result) {
return result.startsWith(OK);
}
/**
* DOCUMENT ME!
*
* @param result DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static boolean definitionFollows(String result) {
return result.startsWith(DEFINITION_FOLLOWS);
}
/**
* Method definitionsCountFollows.
*
* @param result DOCUMENT ME!
*
* @return boolean
*/
public static boolean definitionsCountFollows(String result) {
return result.startsWith(DEFINITIONS_COUNT_FOLLOWS);
}
/**
* DOCUMENT ME!
*
* @param result DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static int findCount(String result) {
int space1 = result.indexOf(' ') + 1;
int space2 = result.indexOf(' ', space1 + 1);
return Integer.parseInt(result.substring(space1, space2));
}
/**
* Method invalidDatabase.
*
* @param result
*
* @return boolean
*/
public static boolean invalidDatabase(String result) {
return result.startsWith(INVALID_DATABASE);
}
/**
* Method invalidStrategy.
*
* @param result
*
* @return boolean
*/
public static boolean invalidStrategy(String result) {
return result.startsWith(INVALID_STRATEGY);
}
/**
* Method noDatabases.
*
* @param result
*
* @return boolean
*/
public static boolean noDatabases(String result) {
return result.startsWith(NO_DATABASES);
}
/**
* Method noMatch.
*
* @param result
*
* @return boolean
*/
public static boolean noMatch(String result) {
return result.startsWith(NO_MATCH);
}
/**
* Method noStrategies.
*
* @param result
*
* @return boolean
*/
public static boolean noStrategies(String result) {
return result.startsWith(NO_STRATEGIES);
}
/**
* DOCUMENT ME!
*
* @param str DOCUMENT ME!
* @param delimiter DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public static String[] splitQuotedString(String str, char delimiter) {
try {
StreamTokenizer tokenizer = new StreamTokenizer(new StringReader(str));
tokenizer.quoteChar(delimiter);
int ttype = tokenizer.nextToken();
List list = new ArrayList();
while (ttype != StreamTokenizer.TT_EOF) {
list.add(tokenizer.sval);
ttype = tokenizer.nextToken();
}
return (String[]) list.toArray(new String[] {});
}
catch (IOException ioe) {
throw new RuntimeException(ioe.getMessage());
}
}
}