1 /* 2 * $Id: Channel.java 20813 2010-12-21 11:37:48Z dirk.olmes $ 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 an endpoint annotation and provides the connector protocol and type. 19 */ 20 @Retention(RetentionPolicy.RUNTIME) 21 @Target({ElementType.ANNOTATION_TYPE}) 22 public @interface Channel 23 { 24 /** 25 * The short protocol name for the connector. Where the annotation is general 26 * purpose, a string ID can be used such as 'outbound' or 'reply'. 27 * 28 * @return the resource name for the connector 29 */ 30 String identifer(); 31 32 /** 33 * The endpoint type. <code>ChannelType.Inbound</code> is used to indicate that 34 * the endpoint annotation is used for receiving messages. 35 * <code>ChannelType.Outbound</code> indicates that the endpoint will be used for 36 * dispatching events. 37 */ 38 ChannelType type(); 39 }