in openwire-core/src/main/java/org/apache/activemq/openwire/commands/OpenWireDestination.java [87:110]
public static OpenWireDestination createDestination(String name, byte defaultType) {
if (name.startsWith(QUEUE_QUALIFIED_PREFIX)) {
return new OpenWireQueue(name.substring(QUEUE_QUALIFIED_PREFIX.length()));
} else if (name.startsWith(TOPIC_QUALIFIED_PREFIX)) {
return new OpenWireTopic(name.substring(TOPIC_QUALIFIED_PREFIX.length()));
} else if (name.startsWith(TEMP_QUEUE_QUALIFED_PREFIX)) {
return new OpenWireTempQueue(name.substring(TEMP_QUEUE_QUALIFED_PREFIX.length()));
} else if (name.startsWith(TEMP_TOPIC_QUALIFED_PREFIX)) {
return new OpenWireTempTopic(name.substring(TEMP_TOPIC_QUALIFED_PREFIX.length()));
}
switch (defaultType) {
case QUEUE_TYPE:
return new OpenWireQueue(name);
case TOPIC_TYPE:
return new OpenWireTopic(name);
case TEMP_QUEUE_TYPE:
return new OpenWireTempQueue(name);
case TEMP_TOPIC_TYPE:
return new OpenWireTempTopic(name);
default:
throw new IllegalArgumentException("Invalid default destination type: " + defaultType);
}
}