@Override public void loadFromJSONObject(JSONObject obj, Database db) throws JSONException { m_isNull = false; if (!obj.isNull(Members.VALUE.name())) { m_value = obj.getString(Members.VALUE.name()); } else { m_isNull = true; } if (!obj.isNull(Members.ISNULL.name())) { m_isNull = obj.getBoolean(Members.ISNULL.name()); } }
@Override public void toJSONString(JSONStringer stringer) throws JSONException { super.toJSONString(stringer); stringer.key(Members.ISNULL.name()); stringer.value(m_isNull); stringer.key(Members.VALUE.name()); if (m_isNull) { stringer.value("NULL"); } else { switch (m_valueType) { case INVALID: throw new JSONException( "ConstantValueExpression.toJSONString(): value_type should never be VoltType.INVALID"); case NULL: stringer.value("null"); break; case TINYINT: stringer.value(Long.valueOf(m_value)); break; case SMALLINT: stringer.value(Long.valueOf(m_value)); break; case INTEGER: stringer.value(Long.valueOf(m_value)); break; case BIGINT: stringer.value(Long.valueOf(m_value)); break; case FLOAT: stringer.value(Double.valueOf(m_value)); break; case STRING: stringer.value(m_value); break; case VARBINARY: stringer.value(m_value); break; case TIMESTAMP: stringer.value(Long.valueOf(m_value)); break; case DECIMAL: stringer.value(m_value); break; default: throw new JSONException( "ConstantValueExpression.toJSONString(): Unrecognized value_type " + m_valueType); } } }