Files
VisualSapfor/src/Common/Database/Objects/DBObject.java

63 lines
1.6 KiB
Java
Raw Normal View History

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() {
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);
}
//---------
}