1.1 --- a/java/sql-dk/src/info/globalcode/sql/dk/formatting/AbstractFormatter.java Tue Jan 07 21:53:24 2014 +0100
1.2 +++ b/java/sql-dk/src/info/globalcode/sql/dk/formatting/AbstractFormatter.java Tue Jan 07 21:54:59 2014 +0100
1.3 @@ -46,25 +46,22 @@
1.4 * root
1.5 * .batch
1.6 * ..database
1.7 - * ...resultSet
1.8 + * ...statement
1.9 * ....@query
1.10 * ....@parameters
1.11 - * ....@columnsHeader
1.12 - * ....row
1.13 - * .....@columnValue
1.14 - * ...updatesResult
1.15 - * ....@query
1.16 - * ....@parameters
1.17 - * ....@updatedRowsCount
1.18 + * ....resultSet
1.19 + * .....row
1.20 + * ......@columnValue
1.21 + * ....@updatesResult
1.22 */
1.23 protected enum State {
1.24
1.25 ROOT,
1.26 BATCH,
1.27 DATABASE,
1.28 + STATEMENT,
1.29 RESULT_SET,
1.30 - ROW,
1.31 - UPDATES_RESULT
1.32 + ROW
1.33 }
1.34
1.35 /**
1.36 @@ -142,20 +139,31 @@
1.37 }
1.38
1.39 @Override
1.40 - public void writeStartResultSet() {
1.41 - pushState(State.RESULT_SET, EnumSet.of(State.DATABASE));
1.42 + public void writeStartStatement() {
1.43 + pushState(State.STATEMENT, EnumSet.of(State.DATABASE));
1.44 + }
1.45 +
1.46 + @Override
1.47 + public void writeEndStatement() {
1.48 + popState(EnumSet.of(State.DATABASE));
1.49 + }
1.50 +
1.51 + @Override
1.52 + public void writeStartResultSet(ColumnsHeader header) {
1.53 + pushState(State.RESULT_SET, EnumSet.of(State.STATEMENT));
1.54 currentRowCount = 0;
1.55 + currentColumnsHeader = header;
1.56 }
1.57
1.58 @Override
1.59 public void writeEndResultSet() {
1.60 - popState(EnumSet.of(State.DATABASE));
1.61 + popState(EnumSet.of(State.STATEMENT));
1.62 currentColumnsHeader = null;
1.63 }
1.64
1.65 @Override
1.66 public void writeQuery(String sql) {
1.67 - peekState(EnumSet.of(State.RESULT_SET, State.UPDATES_RESULT));
1.68 + peekState(EnumSet.of(State.STATEMENT));
1.69
1.70 if (currentColumnsHeader == null) {
1.71 currentQuery = sql;
1.72 @@ -166,7 +174,7 @@
1.73
1.74 @Override
1.75 public void writeParameters(List<? extends Parameter> parameters) {
1.76 - peekState(EnumSet.of(State.RESULT_SET, State.UPDATES_RESULT));
1.77 + peekState(EnumSet.of(State.STATEMENT));
1.78
1.79 if (currentColumnsHeader != null) {
1.80 throw new IllegalStateException("Parameters '" + parameters + "' must be set before columns header – was already set: " + currentColumnsHeader);
1.81 @@ -178,17 +186,6 @@
1.82 }
1.83
1.84 @Override
1.85 - public void writeColumnsHeader(ColumnsHeader header) {
1.86 - peekState(EnumSet.of(State.RESULT_SET));
1.87 -
1.88 - if (currentColumnsHeader == null) {
1.89 - currentColumnsHeader = header;
1.90 - } else {
1.91 - throw new IllegalStateException("Columns header can be set only once per result set – was already set: " + currentColumnsHeader);
1.92 - }
1.93 - }
1.94 -
1.95 - @Override
1.96 public void writeStartRow() {
1.97 pushState(State.ROW, EnumSet.of(State.RESULT_SET));
1.98 currentColumnsCount = 0;
1.99 @@ -212,19 +209,8 @@
1.100 }
1.101
1.102 @Override
1.103 - public void writeStartUpdatesResult() {
1.104 - pushState(State.UPDATES_RESULT, EnumSet.of(State.DATABASE));
1.105 - }
1.106 -
1.107 - @Override
1.108 - public void writeEndUpdatesResult() {
1.109 - popState(EnumSet.of(State.DATABASE));
1.110 - currentColumnsHeader = null;
1.111 - }
1.112 -
1.113 - @Override
1.114 - public void writeUpdatedRowsCount(int updatedRowsCount) {
1.115 - peekState(EnumSet.of(State.UPDATES_RESULT));
1.116 + public void writeUpdatesResult(int updatedRowsCount) {
1.117 + peekState(EnumSet.of(State.STATEMENT));
1.118 }
1.119
1.120 @Override