/** * Returns the object to use for the operation. * * @return */ protected T getObject() { final T object; if (reusedObject != null) { // REUSE THE SAME RECORD AFTER HAVING RESETTED IT object = reusedObject; object.reset(); } else // CREATE A NEW ONE object = (T) database.newInstance(className); return object; }
/** * Tells to the iterator to use the same object for browsing. The object will be reset before * every use. This improve the performance and reduce memory utilization since it does not create * a new one for each operation, but pay attention to copy the data of the object once read * otherwise they will be reset to the next operation. * * @param iReuse * @return @see #isReuseSameObject() */ public OGraphElementIterator<T> setReuseSameObject(boolean iReuse) { reusedObject = (T) database.newInstance(className); return this; }