package org.insightech.er.editor.model;
import org.insightech.er.db.DBManager;
import org.insightech.er.db.DBManagerFactory;
import org.insightech.er.util.Format;
public abstract class WithSchemaModel extends AbstractModel implements
Comparable<WithSchemaModel> {
private static final long serialVersionUID = -7450893485538582071L;
private String schema;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSchema() {
return schema;
}
public void setSchema(String schema) {
this.schema = schema;
}
public String getNameWithSchema(String database) {
if (this.schema == null) {
return Format.null2blank(this.name);
}
DBManager dbManager = DBManagerFactory.getDBManager(database);
if (!dbManager.isSupported(DBManager.SUPPORT_SCHEMA)) {
return Format.null2blank(this.name);
}
return this.schema + "." + Format.null2blank(this.name);
}
public int compareTo(WithSchemaModel other) {
int compareTo = 0;
compareTo = Format.null2blank(this.schema).toUpperCase().compareTo(
Format.null2blank(other.schema).toUpperCase());
if (compareTo != 0) {
return compareTo;
}
compareTo = Format.null2blank(this.name).toUpperCase().compareTo(
Format.null2blank(other.name).toUpperCase());
if (compareTo != 0) {
return compareTo;
}
return compareTo;
}
}