Revision 46401 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/SQLBuilderBase.java
SQLBuilderBase.java | ||
---|---|---|
914 | 914 |
protected Value value; |
915 | 915 |
protected String custom; |
916 | 916 |
protected boolean ascending; |
917 |
protected int nullsMode; |
|
917 | 918 |
|
918 | 919 |
public OrderByBuilderBase() { |
919 | 920 |
this.ascending = true; |
921 |
this.nullsMode = MODE_NULLS_LAST; |
|
920 | 922 |
} |
921 | 923 |
|
922 | 924 |
@Override |
... | ... | |
989 | 991 |
} |
990 | 992 |
|
991 | 993 |
@Override |
994 |
public OrderByBuilder nulls(int mode) { |
|
995 |
this.nullsMode = mode; |
|
996 |
return this; |
|
997 |
} |
|
998 |
|
|
999 |
@Override |
|
1000 |
public int getNullsMode() { |
|
1001 |
return this.nullsMode; |
|
1002 |
} |
|
1003 |
|
|
1004 |
@Override |
|
992 | 1005 |
public String toString() { |
993 | 1006 |
return this.toString(formatter()); |
994 | 1007 |
} |
... | ... | |
1001 | 1014 |
if (!StringUtils.isEmpty(this.custom)) { |
1002 | 1015 |
return this.custom; |
1003 | 1016 |
} |
1017 |
String order_s = this.value.toString(formatter); |
|
1004 | 1018 |
if (this.ascending) { |
1005 |
return this.value.toString(formatter) + " ASC NULLS LAST"; |
|
1019 |
order_s += " ASC"; |
|
1020 |
} else { |
|
1021 |
order_s += " DESC"; |
|
1006 | 1022 |
} |
1007 |
return this.value.toString(formatter) + " DESC NULLS FIRST"; |
|
1023 |
switch(this.nullsMode) { |
|
1024 |
case MODE_NULLS_NOT_SPECIFIED: |
|
1025 |
break; |
|
1026 |
case MODE_NULLS_FIRST: |
|
1027 |
order_s += " NULLS FIRST"; |
|
1028 |
break; |
|
1029 |
case MODE_NULLS_LAST: |
|
1030 |
default: |
|
1031 |
order_s += " NULLS LAST"; |
|
1032 |
break; |
|
1033 |
} |
|
1034 |
return order_s; |
|
1008 | 1035 |
} |
1009 | 1036 |
} |
1010 | 1037 |
|
Also available in: Unified diff