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

64 lines
1.6 KiB
Java
Raw Normal View History

package Common.Database.Objects;
2024-10-14 15:19:13 +03:00
import Common.Utils.Index;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
2024-10-07 17:46:38 +03:00
import Common.Visual.Selectable;
2023-09-17 22:13:42 +03:00
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;
2024-10-14 15:19:13 +03:00
//------
public DBObject() {
}
public DBObject(DBObject src) {
this.SynchronizeFields(src);
}
2023-09-17 22:13:42 +03:00
@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-11 00:00:30 +03:00
return Utils_.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();
}
//---
2024-10-14 15:19:13 +03:00
public void SynchronizeFields(DBObject src) {
2023-09-17 22:13:42 +03:00
selected = src.selected;
}
//---------
}