Clover coverage report - Maven Clover report
Coverage timestamp: Sun Mar 18 2007 17:43:17 CET
file stats: LOC: 136   Methods: 24
NCLOC: 108   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
CodeBlockBuilderImpl.java 100% 100% 100% 100%
coverage
 1    package com.agical.rdoc.core.model.impl;
 2   
 3    import com.agical.rdoc.core.model.CodeBlock;
 4    import com.agical.rdoc.core.model.CodeBlockBuilder;
 5    import com.agical.rdoc.core.model.CodeFormatter;
 6    import com.agical.rdoc.core.model.ModelFactory;
 7    import com.agical.rdoc.core.model.TDDocCommentBuilder;
 8   
 9    public class CodeBlockBuilderImpl implements CodeBlockBuilder {
 10    private boolean closeBlockOnEnd;
 11    private ModelFactory modelFactory;
 12    private final CodeBlock codeBlock;
 13    private final CodeFormatter codeFormatter;
 14    private final StringBuffer tabAndSpaceBuffer = new StringBuffer();
 15    private final StringBuffer newLineBuffer = new StringBuffer();
 16   
 17  168 public CodeBlockBuilderImpl(ModelFactory modelFactory, CodeFormatter codeFormatter) {
 18  168 this.codeFormatter = codeFormatter;
 19  168 this.codeBlock = new CodeBlockImpl();
 20  168 closeBlockOnEnd = false;
 21  168 this.modelFactory = modelFactory;
 22    }
 23   
 24  29 public CodeBlockBuilderImpl(ModelFactory modelFactory, CodeBlock codeBlock, CodeFormatter codeFormatter) {
 25  29 this.codeFormatter = codeFormatter;
 26  29 this.codeBlock = codeBlock;
 27  29 closeBlockOnEnd = true;
 28  29 codeBlock.addCode('{');
 29  29 this.modelFactory = modelFactory;
 30    }
 31   
 32   
 33  29 public CodeBlockBuilder beginBlock() {
 34  29 addCode("");
 35  29 return new CodeBlockBuilderImpl(modelFactory, codeBlock, codeFormatter);
 36    }
 37   
 38  8 public void primitive(String primitive) {
 39  8 addCode(codeFormatter.primitive(primitive));
 40    }
 41   
 42  14 public void reservedWord(String keyword) {
 43  14 addCode(codeFormatter.reservedWord(keyword));
 44    }
 45   
 46  868 public void identifier(String identifier) {
 47  868 addCode(codeFormatter.identifier(identifier));
 48    }
 49   
 50  22 public void number(String number) {
 51  22 addCode(codeFormatter.number(number));
 52    }
 53   
 54  224 public void string(String string) {
 55  224 addCode(codeFormatter.stringLiteral(string));
 56    }
 57   
 58  3 public void charLiteral(String literal) {
 59  3 addCode(codeFormatter.charLiteral(literal));
 60    }
 61   
 62  29 public void singleLineComment(String comment) {
 63  29 addCode(codeFormatter.singleLineComment(comment));
 64    }
 65   
 66  2 public void formalComment(String comment) {
 67  2 String formalComment = codeFormatter.formalComment(comment);
 68  2 addCode(formalComment);
 69    }
 70   
 71  3358 private void addCode(String code) {
 72  3358 codeBlock.addCode(tabAndSpaceBuffer.toString());
 73  3358 codeBlock.addCode(code);
 74  3358 clearTabAndSpaceBuffer();
 75    }
 76   
 77  67 public TDDocCommentBuilder beginTDDocComment(String identifier) {
 78  67 mark(identifier);
 79  67 return modelFactory.createDocComment(identifier);
 80    }
 81   
 82  32 public void end() {
 83  32 if (closeBlockOnEnd) {
 84  29 addCode("}");
 85    }
 86  32 addCode(newLineBuffer.toString());
 87    }
 88   
 89  10 public String toString() {
 90  10 return codeBlock.toString();
 91    }
 92   
 93  158 public CodeBlock getCodeBlock() {
 94  158 return codeBlock;
 95    }
 96   
 97  613 public void newLine() {
 98  613 if( tabAndSpaceBuffer.length() == 0 ) {
 99  441 addCode(codeFormatter.newLine());
 100  441 clearNewLineBuffer();
 101    } else {
 102  172 clearNewLineBuffer();
 103  172 newLineBuffer.append(codeFormatter.newLine());
 104    }
 105  613 clearTabAndSpaceBuffer();
 106    }
 107   
 108  3971 private void clearTabAndSpaceBuffer() {
 109  3971 tabAndSpaceBuffer.delete(0, tabAndSpaceBuffer.length());
 110    }
 111   
 112  613 private void clearNewLineBuffer() {
 113  613 newLineBuffer.delete(0, newLineBuffer.length());
 114    }
 115   
 116   
 117  5035 public void space() {
 118  5035 tabAndSpaceBuffer.append(codeFormatter.space());
 119    }
 120   
 121  65 public void tab() {
 122  65 tabAndSpaceBuffer.append(codeFormatter.tab());
 123    }
 124   
 125  68 public void mark(String mark) {
 126  68 codeBlock.mark(mark);
 127    }
 128   
 129  1657 public void other(String other) {
 130  1657 addCode(codeFormatter.other(other));
 131    }
 132   
 133  151 public void setModelFactory(ModelFactory modelFactory) {
 134  151 this.modelFactory = modelFactory;
 135    }
 136    }