прмежуточный. в процесе рефакторина лишних джсон. частично в разобранном виде поэтому не сливать!
This commit is contained in:
@@ -11,6 +11,7 @@ import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Vector;
|
||||
//самый общий интерфейс базы данных, независимо от реализации.
|
||||
public abstract class Database {
|
||||
@@ -224,6 +225,20 @@ public abstract class Database {
|
||||
public <O extends DBObject, F extends iDBObject> LinkedHashMap<Integer, F> getMapByFKi(O owner, Class<F> fk_class) {
|
||||
return getMapByFK(owner, fk_class, java.lang.Integer.class);
|
||||
}
|
||||
public <O extends iDBObject, F extends iDBObject> Vector<Integer> getFKi(
|
||||
Integer owner_pk, Class<O> owner_class, Class<F> fk_class) {
|
||||
String fk_name = owner_class.getSimpleName().toLowerCase()+"_id";
|
||||
Vector<Integer> res = new Vector<>();
|
||||
try {
|
||||
for (Object o : tables.get(fk_class).Data.values()) {
|
||||
F f = (F) o;
|
||||
if (fk_class.getField(fk_name).get(f).equals(owner_pk)) res.add((Integer) f.getPK());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Utils_.MainLog.PrintException(e);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
//-
|
||||
public <O extends DBObject, F extends DBObject> Vector<String> getVectorStringByFK(O owner, Class<F> fk_class) {
|
||||
Vector<String> res = new Vector<>();
|
||||
|
||||
Reference in New Issue
Block a user