@ConsoleCommand(description = "Display current record") public void current() { dumpRecordDetails(); }
@ConsoleCommand(description = "Move the current record cursor to the previous one in result set") public void prev() { setCurrentRecord(currentRecordIdx - 1); dumpRecordDetails(); }
@ConsoleCommand(description = "Move the current record cursor to the next one in result set") public void next() { setCurrentRecord(currentRecordIdx + 1); dumpRecordDetails(); }
@ConsoleCommand(aliases = { "display" }, description = "Display current record attributes", onlineHelp = "Console-Command-Display-Record") public void displayRecord( @ConsoleParameter(name = "number", description = "The number of the record in the most recent result set") final String iRecordNumber) { checkForDatabase(); if (iRecordNumber == null || currentResultSet == null) checkCurrentObject(); else { int recNumber = Integer.parseInt(iRecordNumber); if (currentResultSet.size() == 0) throw new OSystemException("No result set where to find the requested record. Execute a query first."); if (currentResultSet.size() <= recNumber) throw new OSystemException("The record requested is not part of current result set (0" + (currentResultSet.size() > 0 ? "-" + (currentResultSet.size() - 1) : "") + ")"); setCurrentRecord(recNumber); } dumpRecordDetails(); }
@ConsoleCommand(splitInWords = false, description = "Move from current record by evaluating a predicate against current record") public void move(@ConsoleParameter(name = "text", description = "The sql predicate to evaluate") final String iText) { if (iText == null) return; if (currentRecord == null) return; final Object result = new OSQLPredicate(iText).evaluate(currentRecord, null, null); if (result != null) { if (result instanceof OIdentifiable) { setResultset(new ArrayList<OIdentifiable>()); currentRecord = ((OIdentifiable) result).getRecord(); dumpRecordDetails(); } else if (result instanceof List<?>) { setResultset((List<OIdentifiable>) result); dumpResultSet(-1); } else if (result instanceof Iterator<?>) { final List<OIdentifiable> list = new ArrayList<OIdentifiable>(); while (((Iterator) result).hasNext()) list.add(((Iterator<OIdentifiable>) result).next()); setResultset(list); dumpResultSet(-1); } else setResultset(new ArrayList<OIdentifiable>()); } }