View Javadoc

1   /*
2    * $Id: TransportGlobalEndpointDefinitionParser.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  
11  package org.mule.config.spring.parsers.specific.endpoint;
12  
13  import org.mule.config.spring.parsers.specific.endpoint.support.AddressedEndpointDefinitionParser;
14  import org.mule.config.spring.parsers.specific.endpoint.support.OrphanEndpointDefinitionParser;
15  import org.mule.endpoint.EndpointURIEndpointBuilder;
16  import org.mule.endpoint.URIBuilder;
17  
18  /**
19   * A parser for global endpoints.  Note that the blocking of "ref" is left to the schema.
20   */
21  public class TransportGlobalEndpointDefinitionParser extends AddressedEndpointDefinitionParser
22  {
23  
24      public TransportGlobalEndpointDefinitionParser(String protocol, String[] requiredAddressAttributes)
25      {
26          this(protocol, PROTOCOL, requiredAddressAttributes);
27      }
28  
29      public TransportGlobalEndpointDefinitionParser(String metaOrProtocol, boolean isMeta, String[] requiredAddressAttributes)
30      {
31          this(metaOrProtocol, isMeta, requiredAddressAttributes, new String[]{});
32      }
33  
34      /**
35       * @param metaOrProtocol The transport metaOrProtocol ("tcp" etc)
36       * @param isMeta Whether transport is "meta" or not (eg cxf)
37       * @param requiredAddressAttributes A list of attribute names that are required if "address"
38       * isn't present
39       * @param requiredProperties A list of property names that are required if "address" isn't present
40       */
41      public TransportGlobalEndpointDefinitionParser(String metaOrProtocol, boolean isMeta,
42                                                     String[] requiredAddressAttributes, String[] requiredProperties)
43      {
44          super(metaOrProtocol, isMeta, new OrphanEndpointDefinitionParser(EndpointURIEndpointBuilder.class),
45                  requiredAddressAttributes, requiredProperties);
46      }
47  
48      /**
49       * @param metaOrProtocol The transport metaOrProtocol ("tcp" etc)
50       * @param isMeta Whether transport is "meta" or not (eg cxf)
51       * @param requiredAddressAttributes A list of attribute names that are required if "address"
52       * isn't present
53       * @param requiredProperties A list of property names that are required if "address" isn't present
54       */
55      public TransportGlobalEndpointDefinitionParser(String metaOrProtocol, boolean isMeta, Class clazz,
56                                                     String[] requiredAddressAttributes, String[] requiredProperties)
57      {
58          super(metaOrProtocol, isMeta, new OrphanEndpointDefinitionParser(clazz),
59                  requiredAddressAttributes, requiredProperties);
60      }
61  
62      public TransportGlobalEndpointDefinitionParser(String metaOrProtocol, boolean isMeta,
63                                                     String[] endpointAttributes,
64                                                     String[][] requiredAddressAttributes,
65                                                     String[][] requiredProperties)
66      {
67          this(metaOrProtocol, isMeta, URIBuilder.ALL_ATTRIBUTES,
68                  endpointAttributes, requiredAddressAttributes, requiredProperties);
69      }
70  
71      public TransportGlobalEndpointDefinitionParser(String metaOrProtocol, boolean isMeta,
72                                                     String[] endpointAttributes,
73                                                     String[] addressAttributes,
74                                                     String[][] requiredAddressAttributes,
75                                                     String[][] requiredProperties)
76      {
77          super(metaOrProtocol, isMeta,
78                  new OrphanEndpointDefinitionParser(EndpointURIEndpointBuilder.class),
79                  addressAttributes, endpointAttributes, requiredAddressAttributes, requiredProperties);
80      }
81  
82  }