1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.config; 8 9 import java.lang.annotation.ElementType; 10 import java.lang.annotation.Retention; 11 import java.lang.annotation.RetentionPolicy; 12 import java.lang.annotation.Target; 13 14 /** 15 * Provides a means to give preference to an SPI implementation over others. Use either with 16 * or without a weight, in the latter case the higher the value, the stronger the preference. 17 */ 18 @Retention(RetentionPolicy.RUNTIME) 19 @Target(ElementType.TYPE) 20 public @interface Preferred 21 { 22 int weight() default -1; 23 }