View Javadoc

1   /*
2    * $Id: LookupComponent.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.param;
11  
12  import org.mule.api.annotations.expressions.Lookup;
13  import org.mule.api.transformer.Transformer;
14  import org.mule.tck.testmodels.fruit.Apple;
15  import org.mule.tck.testmodels.fruit.Banana;
16  import org.mule.tck.testmodels.fruit.Fruit;
17  import org.mule.tck.testmodels.fruit.Orange;
18  import org.mule.transformer.simple.ObjectToByteArray;
19  
20  import java.util.ArrayList;
21  import java.util.List;
22  
23  /**
24   * A component for testing invocations with more than one parameter
25   */
26  public class LookupComponent
27  {
28      @Lookup("transformer1")
29      private Transformer transformer1;
30  
31      @Lookup(value = "transformer2", optional = true)
32      private Transformer transformer2;
33  
34      @Lookup
35      private ObjectToByteArray transformer3;
36  
37      public List<Fruit> listFruit(@Lookup Banana banana, 
38                                             @Lookup("redApple") Apple apple,
39                                             @Lookup(optional = true) Orange orange)
40      {
41          List<Fruit> f = new ArrayList<Fruit>();
42          f.add(banana);
43          f.add(apple);
44          if(orange!=null)
45          {
46              f.add(orange);
47          }
48          return f;
49      }
50  
51      public Transformer getTransformer1()
52      {
53          return transformer1;
54      }
55  
56      public Transformer getTransformer2()
57      {
58          return transformer2;
59      }
60  
61      public ObjectToByteArray getTransformer3()
62      {
63          return transformer3;
64      }
65  }