diff options
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java index 81d9478152..0f14c033e2 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/AbstractConfiguredObject.java @@ -909,6 +909,36 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im } }; + + private static final Converter<Short> SHORT_CONVERTER = new Converter<Short>() + { + + @Override + public Short convert(final Object value, final ConfiguredObject object) + { + if(value instanceof Short) + { + return (Short) value; + } + else if(value instanceof Number) + { + return ((Number) value).shortValue(); + } + else if(value instanceof String) + { + return Short.valueOf((String) value); + } + else if(value == null) + { + return null; + } + else + { + throw new IllegalArgumentException("Cannot convert type " + value.getClass() + " to an Integer"); + } + } + }; + private static final Converter<Boolean> BOOLEAN_CONVERTER = new Converter<Boolean>() { @@ -1095,6 +1125,10 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im { return (Converter<X>) INT_CONVERTER; } + else if(type == Short.class) + { + return (Converter<X>) SHORT_CONVERTER; + } else if(type == Long.class) { return (Converter<X>) LONG_CONVERTER; |
