}
public ItemIterable<CmisObject> getChildren(OperationContext context) {
final String objectId = getObjectId();
final NavigationService navigationService = getBinding().getNavigationService();
final ObjectFactory objectFactory = getSession().getObjectFactory();
final OperationContext ctxt = new OperationContextImpl(context);
return new CollectionIterable<CmisObject>(new AbstractPageFetch<CmisObject>(ctxt.getMaxItemsPerPage()) {
@Override
protected AbstractPageFetch.PageFetchResult<CmisObject> fetchPage(long skipCount) {
// get the children
ObjectInFolderList children = navigationService.getChildren(getRepositoryId(), objectId, ctxt
.getFilterString(), ctxt.getOrderBy(), ctxt.isIncludeAllowableActions(), ctxt
.getIncludeRelationships(), ctxt.getRenditionFilterString(), ctxt.isIncludePathSegments(),
BigInteger.valueOf(this.maxNumItems), BigInteger.valueOf(skipCount), null);
// convert objects
List<CmisObject> page = new ArrayList<CmisObject>();
List<ObjectInFolderData> childObjects = children.getObjects();
if (childObjects != null) {
for (ObjectInFolderData objectData : childObjects) {
if (objectData.getObject() != null) {
page.add(objectFactory.convertObject(objectData.getObject(), ctxt));
}
}
}
return new AbstractPageFetch.PageFetchResult<CmisObject>(page, children.getNumItems(), children