in client/src/main/java/org/apache/qpid/framing/AMQTypedValue.java [253:318]
public static AMQTypedValue toTypedValue(Object val)
{
if(val == null)
{
return AMQType.VOID.asTypedValue(null);
}
Class klass = val.getClass();
if(klass == String.class)
{
return AMQType.LONG_STRING.asTypedValue(val);
}
else if(klass == Character.class)
{
return AMQType.ASCII_CHARACTER.asTypedValue(val);
}
else if(klass == Integer.class)
{
return AMQType.INT.asTypedValue(val);
}
else if(klass == Long.class)
{
return AMQType.LONG.asTypedValue(val);
}
else if(klass == Float.class)
{
return AMQType.FLOAT.asTypedValue(val);
}
else if(klass == Double.class)
{
return AMQType.DOUBLE.asTypedValue(val);
}
else if(klass == Date.class)
{
return AMQType.TIMESTAMP.asTypedValue(val);
}
else if(klass == Byte.class)
{
return AMQType.BYTE.asTypedValue(val);
}
else if(klass == Boolean.class)
{
return AMQType.BOOLEAN.asTypedValue(val);
}
else if(klass == byte[].class)
{
return AMQType.BINARY.asTypedValue(val);
}
else if(klass == BigDecimal.class)
{
return AMQType.DECIMAL.asTypedValue(val);
}
else if(val instanceof Map)
{
return AMQType.FIELD_TABLE.asTypedValue(FieldTable.convertToFieldTable((Map<String,Object>)val));
}
else if(klass == FieldTable.class)
{
return AMQType.FIELD_TABLE.asTypedValue(val);
}
else if(val instanceof Collection)
{
return AMQType.FIELD_ARRAY.asTypedValue(val);
}
throw new IllegalArgumentException("Cannot convert an object of class " + val.getClass().getName() + " to an AMQP typed value");
}