1 /* 2 * $Id: Router.java 20321 2010-11-24 15:21:24Z dfeist $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 package org.mule.api.annotations.meta; 11 12 import java.lang.annotation.ElementType; 13 import java.lang.annotation.Retention; 14 import java.lang.annotation.RetentionPolicy; 15 import java.lang.annotation.Target; 16 17 /** 18 * Marks a router annotation and provides the type. 19 */ 20 @Retention(RetentionPolicy.RUNTIME) 21 @Target({ElementType.ANNOTATION_TYPE }) 22 public @interface Router 23 { 24 /** 25 * The router type. {@link RouterType#Inbound} indicates that the router annotation is 26 * used on the inbound flow on the service. {@link RouterType#Outbound} indicates that the 27 * router will be used on the outbound flow. {@link RouterType#ReplyTo} indicates that the 28 * router will be used for ReplyTo flows. 29 * @return the type of Router 30 */ 31 RouterType type(); 32 } 33