Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.19.10. The @DefaultType Annotation
You can set the default data type for a Java type using the @DefaultType type level annotation. This is useful for setting the type for a hierarchy of Java types, as shown below:
public interface OrderService { @OperationTypes( in = "{http://acme.com/orders}createOrder", out = "{http://acme.com/orders}createOrderResult", fault = "java:com.acme.exceptions.OrderManagementException" ) Element createOrder(Element order) throws OrderCreateFailureException; }
In this example, the type for OrderCreateFailureException has been changed to java:com.acme.exceptions.OrderManagementException by defining a fault type on the @OperationTypes. Its type would otherwise default to java:com.acme.exceptions.OrderCreateFailureException. It could also be done by annotating the base OrderManagementException class with the @DefaultType annotation. This would set the default type for the OrderManagementException class and all its sub-classes, including OrderCreateFailureException, which would mean not having to defining a fault type on the @OperationTypes wherever one of these exceptions is used on a Bean Service Operation.