本文整理汇总了Java中com.buschmais.xo.api.ResultIterator.hasNext方法的典型用法代码示例。如果您正苦于以下问题:Java ResultIterator.hasNext方法的具体用法?Java ResultIterator.hasNext怎么用?Java ResultIterator.hasNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.buschmais.xo.api.ResultIterator
的用法示例。
在下文中一共展示了ResultIterator.hasNext方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addContentTree
import com.buschmais.xo.api.ResultIterator; //导入方法依赖的package包/类
/**
* This method adds a new content tree node or content tree part to the
* database.
*
* @param xoManager
* is the {@link XOManager} to use for graph access.
* @param fileTree
* is the run tree to add.
* @param analysisRunVertex
* is the run vertex to add the tree to.
* @throws AnalysisStoreException
* is thrown in case of analysis store utilities.
* @throws IOException
* is thrown in case of IO issues.
*/
public void addContentTree(XOManager xoManager, AnalysisRunFileTree fileTree, AnalysisRunVertex analysisRunVertex)
throws AnalysisStoreException, IOException {
ResultIterable<ContentTreeRootVertex> contentRootResult = xoManager.find(ContentTreeRootVertex.class,
fileTree.getHashId().toString());
ResultIterator<ContentTreeRootVertex> contentRootIterator = contentRootResult.iterator();
if (contentRootIterator.hasNext()) {
analysisRunVertex.setContentRoot(contentRootIterator.next());
return;
}
ContentTreeRootVertex contentRoot = xoManager.create(ContentTreeRootVertex.class);
contentRoot.setHashId(fileTree.getHashId().toString());
analysisRunVertex.setContentRoot(contentRoot);
for (AnalysisRunFileTree child : fileTree.getChildren()) {
if (child.isFile()) {
addContentTreeFileVertex(xoManager, child, contentRoot);
} else {
addContentTreeDirectoryVertex(xoManager, child, contentRoot);
}
}
}
示例2: getSingleResult
import com.buschmais.xo.api.ResultIterator; //导入方法依赖的package包/类
@Override
public T getSingleResult() {
ResultIterator<T> iterator = iterator();
if (!iterator.hasNext()) {
throw new XOException("No result available.");
}
try {
T singleResult = iterator.next();
if (iterator.hasNext()) {
throw new XOException("More than one result available.");
}
return singleResult;
} finally {
iterator.close();
}
}
示例3: findAnalysisProjectVertex
import com.buschmais.xo.api.ResultIterator; //导入方法依赖的package包/类
/**
* This method looks a specific Analysis Project vertex up in the graph db.
*
* @param xoManager
* is the {@link XOManager} to use for graph access.
* @param projectId
* is the id of the project.
* @return An {@link AnalysisProjectVertex} is returned.
* @throws AnalysisStoreException
* is thrown in case of analysis store issues.
*/
public static AnalysisProjectVertex findAnalysisProjectVertex(XOManager xoManager, String projectId)
throws AnalysisStoreException {
ResultIterable<AnalysisProjectVertex> result = xoManager.find(AnalysisProjectVertex.class, projectId);
ResultIterator<AnalysisProjectVertex> iterator = result.iterator();
if (!iterator.hasNext()) {
throw new AnalysisStoreException("Could not find a project with identifier '" + projectId + "'.");
}
AnalysisProjectVertex analysisProject = iterator.next();
if (iterator.hasNext()) {
throw new AnalysisStoreException(
"Multiple projects with identifier '" + projectId + "' were found. Database is inconsistent.");
}
return analysisProject;
}
示例4: toResult
import com.buschmais.xo.api.ResultIterator; //导入方法依赖的package包/类
@Override
public <D, T> ResultIterable<T> toResult(ResultIterator<D> iterator) {
ResultIterator<T> resultIterator = new ResultIterator<T>() {
@Override
public boolean hasNext() {
return iterator.hasNext();
}
@Override
public T next() {
Object datastoreValue = iterator.next();
return fromDatastore(datastoreValue);
}
@Override
public void remove() {
throw new UnsupportedOperationException("Cannot remove instance.");
}
@Override
public void close() {
iterator.close();
}
};
XOTransaction xoTransaction = sessionContext.getXOTransaction();
final ResultIterator<T> transactionalIterator = xoTransaction != null ? new TransactionalResultIterator<>(resultIterator, xoTransaction)
: resultIterator;
return sessionContext.getInterceptorFactory().addInterceptor(new AbstractResultIterable<T>() {
@Override
public ResultIterator<T> iterator() {
return transactionalIterator;
}
}, ResultIterable.class);
}