public IReportItemExecutor nextInline() throws BirtException { if (executor.hasNextChild()) { IReportItemExecutor nextExecutor = (IReportItemExecutor) executor.getNextChild(); IContent nextContent = nextExecutor.execute(); if (PropertyUtil.isInlineElement(nextContent)) { return new ItemExecutorWrapper(nextExecutor, nextContent); } else { this.childContent = nextContent; this.childExecutor = nextExecutor; } } return null; }
public boolean hasNextChild() throws BirtException { if (needUpdate) { if (childContent != null) { hasNext = true; } else { hasNext = executor.hasNextChild(); } needUpdate = false; } return hasNext; }
public IReportItemExecutor getNextChild() throws BirtException { IReportItemExecutor ret = null; if (childContent != null) { ret = new ItemExecutorWrapper(childExecutor, childContent); childContent = null; childExecutor = null; } else { IReportItemExecutor childExecutor = executor.getNextChild(); if (childExecutor != null) { IContent childContent = childExecutor.execute(); if (childContent != null) { if (PropertyUtil.isInlineElement(childContent)) { ret = new LineStackingExecutor( new ItemExecutorWrapper(childExecutor, childContent), this); } else { ret = new ItemExecutorWrapper(childExecutor, childContent); } } } } needUpdate = true; return ret; }
public void close() throws BirtException { executor.close(); }