class ProjectInfo { private _paths = [] def getPaths() { _paths } def addPath(path) { _paths += new PathInfo(path) } def getPathCount() { _paths.size() } def getDirectoryCount() { _paths.sum(0, { it.directoryCount }) } def getFileCount() { _paths.sum(0, { it.fileCount }) } def getByteCount() { _paths.sum(0, { it.byteCount }) } def getLineCount() { _paths.sum(0, { it.lineCount }) } def getRealLineCount() { _paths.sum(0, { it.realLineCount }) } def getTextFiles() { def result = []; _paths.each({ result.addAll(it.textFiles) }) result } def getBinaryFiles() { def result = []; _paths.each({ result.addAll(it.binaryFiles) }) result } }