| 1 28 29 package com.idaremedia.antx.condition; 30 31 import com.idaremedia.antx.helpers.Tk; 32 33 54 55 public class IsNumeric extends SimpleFlexCondition 56 { 57 60 public IsNumeric() 61 { 62 super(); 63 } 64 65 66 70 public IsNumeric(String value) 71 { 72 setValue(value); 73 } 74 75 76 80 public void setValue(String value) 81 { 82 require_(value!=null,"setValu- nonzro"); 83 setLiteral(value); 84 } 85 86 87 91 public void setGT(long gt) 92 { 93 m_GT = gt; 94 m_isLimited = true; 95 } 96 97 98 102 public void setGTE(long gte) 103 { 104 m_GTE = gte; 105 m_isLimited = true; 106 } 107 108 109 113 public void setLT(long lt) 114 { 115 m_LT = lt; 116 m_isLimited = true; 117 } 118 119 120 124 public void setLTE(long lte) 125 { 126 m_LTE = lte; 127 m_isLimited = true; 128 } 129 130 131 135 public boolean eval() 136 { 137 String value = getValueHelper().getValue(); 138 139 long l= Tk.longFrom(value,NO_VALU); 140 141 boolean ok = l!=NO_VALU; 142 143 if (ok && m_isLimited) { if (m_GTE!=NO_VALU) { 145 if (l<m_GTE) { 146 return false; 147 } 148 } 149 if (m_GT!=NO_VALU) { 150 if (l<=m_GT) { 151 return false; 152 } 153 } 154 if (m_LTE!=NO_VALU) { 155 if (l>m_LTE) { 156 return false; 157 } 158 } 159 if (m_LT!=NO_VALU) { 160 if (l>=m_LT) { 161 return false; 162 } 163 } 164 } 165 166 return ok; 167 } 168 169 170 private static final long NO_VALU=Long.MIN_VALUE; 171 private boolean m_isLimited; 172 private long m_GTE=NO_VALU,m_GT=NO_VALU; 173 private long m_LTE=NO_VALU,m_LT=NO_VALU; 174 } 175 176 177 | Popular Tags |