001 package biz.hammurapi.sql.syntax; 002 003 import java.io.Serializable; 004 import java.sql.PreparedStatement; 005 import java.sql.SQLException; 006 007 import biz.hammurapi.sql.Variant; 008 009 /** 010 * Less than 011 * @author Pavel 012 * 013 */ 014 public class LessThan implements StatementFragment, Serializable { 015 016 private Variant variant; 017 private String columnName; 018 019 public LessThan(String columnName, boolean value) { 020 variant = new Variant(value); 021 this.columnName = columnName; 022 } 023 024 public LessThan(String columnName, byte value) { 025 variant = new Variant(value); 026 this.columnName = columnName; 027 } 028 029 public LessThan(String columnName, char value) { 030 variant = new Variant(value); 031 this.columnName = columnName; 032 } 033 034 public LessThan(String columnName, double value) { 035 variant = new Variant(value); 036 this.columnName = columnName; 037 } 038 039 public LessThan(String columnName, float value) { 040 variant = new Variant(value); 041 this.columnName = columnName; 042 } 043 044 public LessThan(String columnName, int value) { 045 variant = new Variant(value); 046 this.columnName = columnName; 047 } 048 049 public LessThan(String columnName, long value) { 050 variant = new Variant(value); 051 this.columnName = columnName; 052 } 053 054 public LessThan(String columnName, String value) { 055 variant = new Variant(value); 056 this.columnName = columnName; 057 } 058 059 public LessThan(String columnName, Object value) { 060 variant = new Variant(value); 061 this.columnName = columnName; 062 } 063 064 public LessThan(String columnName, Object value, int sqlType) { 065 variant = new Variant(value, sqlType); 066 this.columnName = columnName; 067 } 068 069 public LessThan(String columnName, short value) { 070 variant = new Variant(value); 071 this.columnName = columnName; 072 } 073 074 public String toSqlString() { 075 return columnName + "<?"; 076 } 077 078 public int parameterize(PreparedStatement ps, int idx) throws SQLException { 079 return variant.parameterize(ps, idx); 080 } 081 082 public int hashCode() { 083 final int prime = 31; 084 int result = 1; 085 result = prime * result 086 + ((columnName == null) ? 0 : columnName.hashCode()); 087 result = prime * result + ((variant == null) ? 0 : variant.hashCode()); 088 return result; 089 } 090 091 public boolean equals(Object obj) { 092 if (this == obj) 093 return true; 094 if (obj == null) 095 return false; 096 if (getClass() != obj.getClass()) 097 return false; 098 final LessThan other = (LessThan) obj; 099 if (columnName == null) { 100 if (other.columnName != null) 101 return false; 102 } else if (!columnName.equals(other.columnName)) 103 return false; 104 if (variant == null) { 105 if (other.variant != null) 106 return false; 107 } else if (!variant.equals(other.variant)) 108 return false; 109 return true; 110 } 111 112 }