2024-10-07 00:58:29 +03:00
|
|
|
package Common.Database.Objects;
|
2024-10-07 14:22:52 +03:00
|
|
|
import Common.Utils.CommonUtils;
|
2024-10-07 17:46:38 +03:00
|
|
|
import Common.Visual.Selectable;
|
2023-09-17 22:13:42 +03:00
|
|
|
import Common.Utils.Index;
|
|
|
|
|
import com.sun.org.glassfish.gmbal.Description;
|
|
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
public abstract class DBObject implements Selectable, Serializable {
|
|
|
|
|
//<editor-fold desc="Selectable">
|
|
|
|
|
@Description("IGNORE")
|
|
|
|
|
private boolean selected = false;
|
|
|
|
|
@Override
|
|
|
|
|
public boolean isSelected() {
|
|
|
|
|
return selected;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void select(boolean flag) {
|
|
|
|
|
if (selected != flag) {
|
|
|
|
|
selected = flag;
|
|
|
|
|
Index counter = getSelectionCounter();
|
|
|
|
|
if (Objects.nonNull(counter)) {
|
|
|
|
|
if (selected) counter.Inc();
|
|
|
|
|
else counter.Dec();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//</editor-fold>
|
|
|
|
|
public Index getSelectionCounter() {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
public boolean isVisible() {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
public abstract Object getPK();
|
|
|
|
|
public String getBDialogName() {
|
2024-10-07 14:22:52 +03:00
|
|
|
return CommonUtils.Brackets(getDialogName());
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
|
|
|
|
public String getDialogName() {
|
|
|
|
|
return getPK().toString();
|
|
|
|
|
}
|
|
|
|
|
public String getFKName() {
|
2023-11-15 19:31:47 +03:00
|
|
|
return getClass().getSimpleName().toLowerCase() + "_id";
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
|
|
|
|
public Object getEmptyFK() {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public String toString() {
|
|
|
|
|
return getBDialogName();
|
|
|
|
|
}
|
|
|
|
|
//---
|
|
|
|
|
public void SynchronizeFields(DBObject src){
|
|
|
|
|
selected = src.selected;
|
|
|
|
|
}
|
|
|
|
|
//------
|
|
|
|
|
public DBObject(){}
|
|
|
|
|
public DBObject(DBObject src){
|
|
|
|
|
this.SynchronizeFields(src);
|
|
|
|
|
}
|
|
|
|
|
//---------
|
|
|
|
|
}
|