Package org.javalite.activejdbc
Class SuperLazyList<T extends Model>
- java.lang.Object
-
- org.javalite.activejdbc.AbstractLazyList<T>
-
- org.javalite.activejdbc.LazyList<T>
-
- org.javalite.activejdbc.SuperLazyList<T>
-
- All Implemented Interfaces:
Externalizable,Serializable,Iterable<T>,Collection<T>,List<T>,RandomAccess
public class SuperLazyList<T extends Model> extends LazyList<T>
The purpose of this class is to providetoMaps()method in cases of eager loading of dependencies. This class is never used by application code directly, rather as a return value fromModel.getAll(..)methods.- Author:
- Igor Polevoy
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.javalite.activejdbc.AbstractLazyList
delegate
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedSuperLazyList()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(T o)protected voidhydrate()<E extends Model>
LazyList<E>include(Class<? extends Model>... classes)This method includes associated objects.<E extends Model>
LazyList<E>limit(long limit)This method limits the number of results in the resultset.<E extends Model>
LazyList<E>load()This method exists to force immediate load from DB.<E extends Model>
LazyList<E>offset(long offset)This method sets an offset of a resultset.<E extends Model>
LazyList<E>orderBy(String orderBy)Use this method to order results by a column.-
Methods inherited from class org.javalite.activejdbc.LazyList
collect, collect, collectDistinct, collectDistinct, dump, dump, readExternal, toJson, toMaps, toSql, toSql, toXml, writeExternal
-
Methods inherited from class org.javalite.activejdbc.AbstractLazyList
add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
replaceAll, sort, spliterator
-
-
-
-
Method Detail
-
add
public boolean add(T o)
-
load
public <E extends Model> LazyList<E> load()
Description copied from class:LazyListThis method exists to force immediate load from DB. Example;Person.find("name = ?", "Smith").load();. It is not possible to call other methods after load(). The load() method should be the last to be called in the chain:Person.find("name = ?", "Smith").limit(10).load();. This: will generate exception:Person.find("name = ?", "Smith").load().limit();.
-
include
public <E extends Model> LazyList<E> include(Class<? extends Model>... classes)
Description copied from class:LazyListThis method includes associated objects. It will eagerly load associated models of models selected by the query. For instance, if there are modelsAuthor,PostandComment, whereAuthorhas manyPosts andPosthas manyComments, then this query:List
or:todayPosts = Post.where("post_date = ?", today).include(Author.class, Comment.class); List
will generate only three queries to database - one per model. All the dependencies (includes) will be eagerly loaded, and iteration via thetodayPosts = Post.where("post_date = ?", today).include(Author.class).include(Comment.class); todayPostslist will not generate any more queries, even when a post author and comments are requested. Use this with caution as this method can allocate a lot of memory (obviously). This method will not follow relationships of related models, but rather only relationships of the current one.
-
orderBy
public <E extends Model> LazyList<E> orderBy(String orderBy)
Description copied from class:LazyListUse this method to order results by a column. These methods can be chained:Person.find(...).orderBy("department").orderBy("age")
-
offset
public <E extends Model> LazyList<E> offset(long offset)
Description copied from class:LazyListThis method sets an offset of a resultset. For instance, if the offset is 101, then the resultset will skip the first 100 records. It can be used in combination wit the limit like this:ListThis will produce 20 records, starting from record 101. This is an efficient method, it will only retrieve records that are necessary.events = Event.find("mnemonic = ?", "GLUC").offset(101).limit(20).orderBy("history_event_id");
-
limit
public <E extends Model> LazyList<E> limit(long limit)
Description copied from class:LazyListThis method limits the number of results in the resultset. It can be used in combination with the offset like this:List<Event> events = Event.find("mnemonic = ?", "GLUC").offset(101).limit(20).orderBy("history_event_id");This will produce 20 records, starting from record 101. This is an efficient method, it will only retrieve records that are necessary.
-
-