我已经创建了一个函数,该函数需要显示对象的历史记录条目。 例如,我有5个对象,每个对象有5个条目,这将给我25个条目。
现在我需要增加对象的每个条目,这将为每个对象返回对象内部的条目数量。
该功能除此部分外均应正常工作。
if(entries instanceof history_entry){
return Historyindex++;
}
整个功能
public static Value getMeasurementHistoryIndex(Session session, Expression expr_id, Expression expr_history_id) {
//if (!(columnExpression instanceof ExpressionColumn)) throw new IllegalArgumentException("column expression expected in localized(<expression>,<locale>)");
Value value_id = expr_id.getValue(session);
Value value_history_id = expr_history_id.getValue(session);
Extent extent = getExtent(session);
if(extent == null || value_id instanceof ValueNull || value_history_id instanceof ValueNull) {
return ValueNull.INSTANCE;
}
ModelObject obj = null;
Measurement2 measurement = null;
MeasurementHistoryEntry history_entry = null;
History_index Historyindex = null;
if (value_id instanceof ValueString) {
try {
obj = extent.get(GUID.parse(value_id.getString()));
} catch(Exception e) {
Log.log(Log.DEBUG, "Function GET_MEASUREMENT_HISTORY_INDEX: could not parse measurement ID: " + value_id.getString());
}
}
if(obj instanceof Measurement2) {
measurement = (Measurement2)obj;
}
if (value_history_id instanceof ValueString) {
try {
obj = extent.get(GUID.parse(value_history_id.getString()));
} catch(Exception e) {
Log.log(Log.DEBUG, "Function GET_MEASUREMENT_HISTORY_INDEX: could not parse measurement ID: " + value_id.getString());
}
}
if(obj instanceof MeasurementHistoryEntry) {
history_entry = (MeasurementHistoryEntry)obj;
}
if(measurement == null || history_entry == null) {
return ValueNull.INSTANCE;
}
ListView history = HistorizableHelper.createDateSortedHistoryListView(MeasurementHistoryEntry.TYPE);
history.setModel(measurement);
ModelObject[] entries = history.getObjects();
history.setModel(entries);
if(entries instanceof history_entry)
{
return Historyindex++;
}
return ValueNull.INSTANCE;
}
因此,最后我应该为每个对象都有一个数字,该数字返回对象内部的条目数量。
我希望有人可以帮助我解决if语句,或者我需要做一个for循环。
谢谢。
Greets Adem
答案 0 :(得分:0)
要检查多个历史记录中的所有历史记录条目,我使用了这段代码,但上面的if语句除外。
for (int i = 0; i < entries.length; i++) {
ModelObject entry = entries[i];
if(history_entry.equals(entry))
return ValueInt.get(i);
这有助于我将每一项从1增加到x