Hi all,
If you've been watching the JIRA tickets (ISIS-220 to be precise), you
will have noticed some more activity on this topic.
Anyway, I have implemented changes to the API along the lines of:
protected <T> List<T> allInstances(final Class<T> ofType, long... range) {
return getContainer().allInstances(ofType, range);
}
So anyone can access the paging / ranging support by specifying an
optional extra two parameters: start and count.
public List<SimpleClass> someSimpleClasses(final long startIndex, final
long rowCount) {
return allInstances(SimpleClass.class, startIndex, rowCount);
}
I chose to implement with optional parameters instead of
overloading...
At the same time, I extended the query base interface to expose
getStart() and getCount(). So if you invoke an allInstances or
allMatches with a custom query, you'll have to implement those
methods.
All existing applications should continue to function exactly as before,
with the default values of 0 and 0 implying "return all records".
I'll start working on a new release for the sql-os.
Since I modified the API on:
AbstractContainedObject (in applib)
DomainObjectContainer (in applib)
Query (in applib)
QueryBuiltInAbstract and derived classes (in applib)
DomainObjectContainerDefault (in metamodel)
PersistenceQueryAbstract and dervied (in runtime)
does this mean that these components also should be released with a
bumped major version number?
Regards,
Kevin