package com.idega.data.query;
import java.util.Set;
import com.idega.data.query.output.Output;
import com.idega.data.query.output.Outputable;
import com.idega.data.query.output.ToStringer;
/**
* @author <a href="joe@truemesh.com">Joe Walnes</a>
*/
public abstract class Criteria implements Outputable, Cloneable{
public abstract void write(Output out);
public String toString() {
return ToStringer.toString(this);
}
protected String quote(String s) {
if (s == null) {
return "null";
}
StringBuffer str = new StringBuffer();
str.append('\'');
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '\\'
|| s.charAt(i) == '\"'
|| s.charAt(i) == '\'') {
str.append('\\');
}
str.append(s.charAt(i));
}
str.append('\'');
return str.toString();
}
public abstract Set getTables();
public Object clone(){
Criteria obj = null;
try {
obj = (Criteria)super.clone();
}
catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return obj;
}
}