001/* Generated by camel-apt */
002package org.apache.camel.model.placeholder;
003
004import java.util.HashMap;
005import java.util.Map;
006import java.util.Optional;
007import java.util.function.Function;
008import java.util.function.Supplier;
009
010import org.apache.camel.spi.PropertyPlaceholderConfigurer;
011import org.apache.camel.model.AggregateDefinition;
012import org.apache.camel.model.BeanDefinition;
013import org.apache.camel.model.CatchDefinition;
014import org.apache.camel.model.ChoiceDefinition;
015import org.apache.camel.model.ClaimCheckDefinition;
016import org.apache.camel.model.cloud.ServiceCallDefinition;
017import org.apache.camel.model.ConvertBodyDefinition;
018import org.apache.camel.model.dataformat.Any23DataFormat;
019import org.apache.camel.model.dataformat.ASN1DataFormat;
020import org.apache.camel.model.dataformat.AvroDataFormat;
021import org.apache.camel.model.dataformat.BarcodeDataFormat;
022import org.apache.camel.model.dataformat.Base64DataFormat;
023import org.apache.camel.model.dataformat.BeanioDataFormat;
024import org.apache.camel.model.dataformat.BindyDataFormat;
025import org.apache.camel.model.dataformat.CBORDataFormat;
026import org.apache.camel.model.dataformat.CryptoDataFormat;
027import org.apache.camel.model.dataformat.CsvDataFormat;
028import org.apache.camel.model.dataformat.CustomDataFormat;
029import org.apache.camel.model.dataformat.FhirJsonDataFormat;
030import org.apache.camel.model.dataformat.FhirXmlDataFormat;
031import org.apache.camel.model.dataformat.FlatpackDataFormat;
032import org.apache.camel.model.dataformat.GrokDataFormat;
033import org.apache.camel.model.dataformat.GzipDataFormat;
034import org.apache.camel.model.dataformat.HL7DataFormat;
035import org.apache.camel.model.dataformat.IcalDataFormat;
036import org.apache.camel.model.dataformat.JacksonXMLDataFormat;
037import org.apache.camel.model.dataformat.JaxbDataFormat;
038import org.apache.camel.model.dataformat.JsonApiDataFormat;
039import org.apache.camel.model.dataformat.JsonDataFormat;
040import org.apache.camel.model.dataformat.LZFDataFormat;
041import org.apache.camel.model.dataformat.MimeMultipartDataFormat;
042import org.apache.camel.model.dataformat.PGPDataFormat;
043import org.apache.camel.model.dataformat.ProtobufDataFormat;
044import org.apache.camel.model.dataformat.RssDataFormat;
045import org.apache.camel.model.dataformat.SoapJaxbDataFormat;
046import org.apache.camel.model.dataformat.SyslogDataFormat;
047import org.apache.camel.model.dataformat.TarFileDataFormat;
048import org.apache.camel.model.dataformat.ThriftDataFormat;
049import org.apache.camel.model.dataformat.TidyMarkupDataFormat;
050import org.apache.camel.model.dataformat.UniVocityCsvDataFormat;
051import org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat;
052import org.apache.camel.model.dataformat.UniVocityTsvDataFormat;
053import org.apache.camel.model.dataformat.XmlRpcDataFormat;
054import org.apache.camel.model.dataformat.XMLSecurityDataFormat;
055import org.apache.camel.model.dataformat.XStreamDataFormat;
056import org.apache.camel.model.dataformat.YAMLDataFormat;
057import org.apache.camel.model.dataformat.ZipDeflaterDataFormat;
058import org.apache.camel.model.dataformat.ZipFileDataFormat;
059import org.apache.camel.model.DelayDefinition;
060import org.apache.camel.model.DynamicRouterDefinition;
061import org.apache.camel.model.EnrichDefinition;
062import org.apache.camel.model.FilterDefinition;
063import org.apache.camel.model.FinallyDefinition;
064import org.apache.camel.model.FromDefinition;
065import org.apache.camel.model.HystrixDefinition;
066import org.apache.camel.model.IdempotentConsumerDefinition;
067import org.apache.camel.model.InOnlyDefinition;
068import org.apache.camel.model.InOutDefinition;
069import org.apache.camel.model.InterceptDefinition;
070import org.apache.camel.model.InterceptFromDefinition;
071import org.apache.camel.model.InterceptSendToEndpointDefinition;
072import org.apache.camel.model.language.ConstantExpression;
073import org.apache.camel.model.language.ExchangePropertyExpression;
074import org.apache.camel.model.language.GroovyExpression;
075import org.apache.camel.model.language.HeaderExpression;
076import org.apache.camel.model.language.Hl7TerserExpression;
077import org.apache.camel.model.language.JsonPathExpression;
078import org.apache.camel.model.language.LanguageExpression;
079import org.apache.camel.model.language.MethodCallExpression;
080import org.apache.camel.model.language.MvelExpression;
081import org.apache.camel.model.language.OgnlExpression;
082import org.apache.camel.model.language.RefExpression;
083import org.apache.camel.model.language.SimpleExpression;
084import org.apache.camel.model.language.SpELExpression;
085import org.apache.camel.model.language.TokenizerExpression;
086import org.apache.camel.model.language.XMLTokenizerExpression;
087import org.apache.camel.model.language.XPathExpression;
088import org.apache.camel.model.language.XQueryExpression;
089import org.apache.camel.model.LoadBalanceDefinition;
090import org.apache.camel.model.LogDefinition;
091import org.apache.camel.model.LoopDefinition;
092import org.apache.camel.model.MarshalDefinition;
093import org.apache.camel.model.MulticastDefinition;
094import org.apache.camel.model.OnCompletionDefinition;
095import org.apache.camel.model.OnExceptionDefinition;
096import org.apache.camel.model.OnFallbackDefinition;
097import org.apache.camel.model.OtherwiseDefinition;
098import org.apache.camel.model.PipelineDefinition;
099import org.apache.camel.model.PolicyDefinition;
100import org.apache.camel.model.PollEnrichDefinition;
101import org.apache.camel.model.ProcessDefinition;
102import org.apache.camel.model.RecipientListDefinition;
103import org.apache.camel.model.RemoveHeaderDefinition;
104import org.apache.camel.model.RemoveHeadersDefinition;
105import org.apache.camel.model.RemovePropertiesDefinition;
106import org.apache.camel.model.RemovePropertyDefinition;
107import org.apache.camel.model.ResequenceDefinition;
108import org.apache.camel.model.rest.DeleteVerbDefinition;
109import org.apache.camel.model.rest.GetVerbDefinition;
110import org.apache.camel.model.rest.HeadVerbDefinition;
111import org.apache.camel.model.rest.PatchVerbDefinition;
112import org.apache.camel.model.rest.PostVerbDefinition;
113import org.apache.camel.model.rest.PutVerbDefinition;
114import org.apache.camel.model.rest.RestBindingDefinition;
115import org.apache.camel.model.rest.RestConfigurationDefinition;
116import org.apache.camel.model.rest.RestDefinition;
117import org.apache.camel.model.rest.RestOperationParamDefinition;
118import org.apache.camel.model.rest.RestOperationResponseHeaderDefinition;
119import org.apache.camel.model.rest.RestOperationResponseMsgDefinition;
120import org.apache.camel.model.rest.RestPropertyDefinition;
121import org.apache.camel.model.rest.RestsDefinition;
122import org.apache.camel.model.rest.RestSecuritiesDefinition;
123import org.apache.camel.model.rest.RestSecurityApiKey;
124import org.apache.camel.model.rest.RestSecurityBasicAuth;
125import org.apache.camel.model.rest.RestSecurityOAuth2;
126import org.apache.camel.model.rest.SecurityDefinition;
127import org.apache.camel.model.rest.VerbDefinition;
128import org.apache.camel.model.RollbackDefinition;
129import org.apache.camel.model.RouteDefinition;
130import org.apache.camel.model.RoutingSlipDefinition;
131import org.apache.camel.model.SagaDefinition;
132import org.apache.camel.model.SamplingDefinition;
133import org.apache.camel.model.ScriptDefinition;
134import org.apache.camel.model.SetBodyDefinition;
135import org.apache.camel.model.SetExchangePatternDefinition;
136import org.apache.camel.model.SetHeaderDefinition;
137import org.apache.camel.model.SetPropertyDefinition;
138import org.apache.camel.model.SortDefinition;
139import org.apache.camel.model.SplitDefinition;
140import org.apache.camel.model.StepDefinition;
141import org.apache.camel.model.StopDefinition;
142import org.apache.camel.model.ThreadsDefinition;
143import org.apache.camel.model.ThrottleDefinition;
144import org.apache.camel.model.ThrowExceptionDefinition;
145import org.apache.camel.model.ToDefinition;
146import org.apache.camel.model.ToDynamicDefinition;
147import org.apache.camel.model.TransactedDefinition;
148import org.apache.camel.model.TransformDefinition;
149import org.apache.camel.model.TryDefinition;
150import org.apache.camel.model.UnmarshalDefinition;
151import org.apache.camel.model.ValidateDefinition;
152import org.apache.camel.model.WhenDefinition;
153import org.apache.camel.model.WhenSkipSendToEndpointDefinition;
154import org.apache.camel.model.WireTapDefinition;
155
156/**
157 * Source code generated by org.apache.camel:apt
158 */
159public class DefinitionPropertiesPlaceholderProviderHelper {
160
161    private static final Map<Class, Function<Object, PropertyPlaceholderConfigurer>> MAP;
162    static {
163        Map<Class, Function<Object, PropertyPlaceholderConfigurer>> map = new HashMap<>(144);
164        map.put(AggregateDefinition.class, AggregateDefinitionPropertyPlaceholderProvider::new);
165        map.put(BeanDefinition.class, BeanDefinitionPropertyPlaceholderProvider::new);
166        map.put(CatchDefinition.class, CatchDefinitionPropertyPlaceholderProvider::new);
167        map.put(ChoiceDefinition.class, ChoiceDefinitionPropertyPlaceholderProvider::new);
168        map.put(ClaimCheckDefinition.class, ClaimCheckDefinitionPropertyPlaceholderProvider::new);
169        map.put(ServiceCallDefinition.class, ServiceCallDefinitionPropertyPlaceholderProvider::new);
170        map.put(ConvertBodyDefinition.class, ConvertBodyDefinitionPropertyPlaceholderProvider::new);
171        map.put(Any23DataFormat.class, Any23DataFormatPropertyPlaceholderProvider::new);
172        map.put(ASN1DataFormat.class, ASN1DataFormatPropertyPlaceholderProvider::new);
173        map.put(AvroDataFormat.class, AvroDataFormatPropertyPlaceholderProvider::new);
174        map.put(BarcodeDataFormat.class, BarcodeDataFormatPropertyPlaceholderProvider::new);
175        map.put(Base64DataFormat.class, Base64DataFormatPropertyPlaceholderProvider::new);
176        map.put(BeanioDataFormat.class, BeanioDataFormatPropertyPlaceholderProvider::new);
177        map.put(BindyDataFormat.class, BindyDataFormatPropertyPlaceholderProvider::new);
178        map.put(CBORDataFormat.class, CBORDataFormatPropertyPlaceholderProvider::new);
179        map.put(CryptoDataFormat.class, CryptoDataFormatPropertyPlaceholderProvider::new);
180        map.put(CsvDataFormat.class, CsvDataFormatPropertyPlaceholderProvider::new);
181        map.put(CustomDataFormat.class, CustomDataFormatPropertyPlaceholderProvider::new);
182        map.put(FhirJsonDataFormat.class, FhirJsonDataFormatPropertyPlaceholderProvider::new);
183        map.put(FhirXmlDataFormat.class, FhirXmlDataFormatPropertyPlaceholderProvider::new);
184        map.put(FlatpackDataFormat.class, FlatpackDataFormatPropertyPlaceholderProvider::new);
185        map.put(GrokDataFormat.class, GrokDataFormatPropertyPlaceholderProvider::new);
186        map.put(GzipDataFormat.class, GzipDataFormatPropertyPlaceholderProvider::new);
187        map.put(HL7DataFormat.class, HL7DataFormatPropertyPlaceholderProvider::new);
188        map.put(IcalDataFormat.class, IcalDataFormatPropertyPlaceholderProvider::new);
189        map.put(JacksonXMLDataFormat.class, JacksonXMLDataFormatPropertyPlaceholderProvider::new);
190        map.put(JaxbDataFormat.class, JaxbDataFormatPropertyPlaceholderProvider::new);
191        map.put(JsonApiDataFormat.class, JsonApiDataFormatPropertyPlaceholderProvider::new);
192        map.put(JsonDataFormat.class, JsonDataFormatPropertyPlaceholderProvider::new);
193        map.put(LZFDataFormat.class, LZFDataFormatPropertyPlaceholderProvider::new);
194        map.put(MimeMultipartDataFormat.class, MimeMultipartDataFormatPropertyPlaceholderProvider::new);
195        map.put(PGPDataFormat.class, PGPDataFormatPropertyPlaceholderProvider::new);
196        map.put(ProtobufDataFormat.class, ProtobufDataFormatPropertyPlaceholderProvider::new);
197        map.put(RssDataFormat.class, RssDataFormatPropertyPlaceholderProvider::new);
198        map.put(SoapJaxbDataFormat.class, SoapJaxbDataFormatPropertyPlaceholderProvider::new);
199        map.put(SyslogDataFormat.class, SyslogDataFormatPropertyPlaceholderProvider::new);
200        map.put(TarFileDataFormat.class, TarFileDataFormatPropertyPlaceholderProvider::new);
201        map.put(ThriftDataFormat.class, ThriftDataFormatPropertyPlaceholderProvider::new);
202        map.put(TidyMarkupDataFormat.class, TidyMarkupDataFormatPropertyPlaceholderProvider::new);
203        map.put(UniVocityCsvDataFormat.class, UniVocityCsvDataFormatPropertyPlaceholderProvider::new);
204        map.put(UniVocityFixedWidthDataFormat.class, UniVocityFixedWidthDataFormatPropertyPlaceholderProvider::new);
205        map.put(UniVocityTsvDataFormat.class, UniVocityTsvDataFormatPropertyPlaceholderProvider::new);
206        map.put(XmlRpcDataFormat.class, XmlRpcDataFormatPropertyPlaceholderProvider::new);
207        map.put(XMLSecurityDataFormat.class, XMLSecurityDataFormatPropertyPlaceholderProvider::new);
208        map.put(XStreamDataFormat.class, XStreamDataFormatPropertyPlaceholderProvider::new);
209        map.put(YAMLDataFormat.class, YAMLDataFormatPropertyPlaceholderProvider::new);
210        map.put(ZipDeflaterDataFormat.class, ZipDeflaterDataFormatPropertyPlaceholderProvider::new);
211        map.put(ZipFileDataFormat.class, ZipFileDataFormatPropertyPlaceholderProvider::new);
212        map.put(DelayDefinition.class, DelayDefinitionPropertyPlaceholderProvider::new);
213        map.put(DynamicRouterDefinition.class, DynamicRouterDefinitionPropertyPlaceholderProvider::new);
214        map.put(EnrichDefinition.class, EnrichDefinitionPropertyPlaceholderProvider::new);
215        map.put(FilterDefinition.class, FilterDefinitionPropertyPlaceholderProvider::new);
216        map.put(FinallyDefinition.class, FinallyDefinitionPropertyPlaceholderProvider::new);
217        map.put(FromDefinition.class, FromDefinitionPropertyPlaceholderProvider::new);
218        map.put(HystrixDefinition.class, HystrixDefinitionPropertyPlaceholderProvider::new);
219        map.put(IdempotentConsumerDefinition.class, IdempotentConsumerDefinitionPropertyPlaceholderProvider::new);
220        map.put(InOnlyDefinition.class, InOnlyDefinitionPropertyPlaceholderProvider::new);
221        map.put(InOutDefinition.class, InOutDefinitionPropertyPlaceholderProvider::new);
222        map.put(InterceptDefinition.class, InterceptDefinitionPropertyPlaceholderProvider::new);
223        map.put(InterceptFromDefinition.class, InterceptFromDefinitionPropertyPlaceholderProvider::new);
224        map.put(InterceptSendToEndpointDefinition.class, InterceptSendToEndpointDefinitionPropertyPlaceholderProvider::new);
225        map.put(ConstantExpression.class, ConstantExpressionPropertyPlaceholderProvider::new);
226        map.put(ExchangePropertyExpression.class, ExchangePropertyExpressionPropertyPlaceholderProvider::new);
227        map.put(GroovyExpression.class, GroovyExpressionPropertyPlaceholderProvider::new);
228        map.put(HeaderExpression.class, HeaderExpressionPropertyPlaceholderProvider::new);
229        map.put(Hl7TerserExpression.class, Hl7TerserExpressionPropertyPlaceholderProvider::new);
230        map.put(JsonPathExpression.class, JsonPathExpressionPropertyPlaceholderProvider::new);
231        map.put(LanguageExpression.class, LanguageExpressionPropertyPlaceholderProvider::new);
232        map.put(MethodCallExpression.class, MethodCallExpressionPropertyPlaceholderProvider::new);
233        map.put(MvelExpression.class, MvelExpressionPropertyPlaceholderProvider::new);
234        map.put(OgnlExpression.class, OgnlExpressionPropertyPlaceholderProvider::new);
235        map.put(RefExpression.class, RefExpressionPropertyPlaceholderProvider::new);
236        map.put(SimpleExpression.class, SimpleExpressionPropertyPlaceholderProvider::new);
237        map.put(SpELExpression.class, SpELExpressionPropertyPlaceholderProvider::new);
238        map.put(TokenizerExpression.class, TokenizerExpressionPropertyPlaceholderProvider::new);
239        map.put(XMLTokenizerExpression.class, XMLTokenizerExpressionPropertyPlaceholderProvider::new);
240        map.put(XPathExpression.class, XPathExpressionPropertyPlaceholderProvider::new);
241        map.put(XQueryExpression.class, XQueryExpressionPropertyPlaceholderProvider::new);
242        map.put(LoadBalanceDefinition.class, LoadBalanceDefinitionPropertyPlaceholderProvider::new);
243        map.put(LogDefinition.class, LogDefinitionPropertyPlaceholderProvider::new);
244        map.put(LoopDefinition.class, LoopDefinitionPropertyPlaceholderProvider::new);
245        map.put(MarshalDefinition.class, MarshalDefinitionPropertyPlaceholderProvider::new);
246        map.put(MulticastDefinition.class, MulticastDefinitionPropertyPlaceholderProvider::new);
247        map.put(OnCompletionDefinition.class, OnCompletionDefinitionPropertyPlaceholderProvider::new);
248        map.put(OnExceptionDefinition.class, OnExceptionDefinitionPropertyPlaceholderProvider::new);
249        map.put(OnFallbackDefinition.class, OnFallbackDefinitionPropertyPlaceholderProvider::new);
250        map.put(OtherwiseDefinition.class, OtherwiseDefinitionPropertyPlaceholderProvider::new);
251        map.put(PipelineDefinition.class, PipelineDefinitionPropertyPlaceholderProvider::new);
252        map.put(PolicyDefinition.class, PolicyDefinitionPropertyPlaceholderProvider::new);
253        map.put(PollEnrichDefinition.class, PollEnrichDefinitionPropertyPlaceholderProvider::new);
254        map.put(ProcessDefinition.class, ProcessDefinitionPropertyPlaceholderProvider::new);
255        map.put(RecipientListDefinition.class, RecipientListDefinitionPropertyPlaceholderProvider::new);
256        map.put(RemoveHeaderDefinition.class, RemoveHeaderDefinitionPropertyPlaceholderProvider::new);
257        map.put(RemoveHeadersDefinition.class, RemoveHeadersDefinitionPropertyPlaceholderProvider::new);
258        map.put(RemovePropertiesDefinition.class, RemovePropertiesDefinitionPropertyPlaceholderProvider::new);
259        map.put(RemovePropertyDefinition.class, RemovePropertyDefinitionPropertyPlaceholderProvider::new);
260        map.put(ResequenceDefinition.class, ResequenceDefinitionPropertyPlaceholderProvider::new);
261        map.put(DeleteVerbDefinition.class, DeleteVerbDefinitionPropertyPlaceholderProvider::new);
262        map.put(GetVerbDefinition.class, GetVerbDefinitionPropertyPlaceholderProvider::new);
263        map.put(HeadVerbDefinition.class, HeadVerbDefinitionPropertyPlaceholderProvider::new);
264        map.put(PatchVerbDefinition.class, PatchVerbDefinitionPropertyPlaceholderProvider::new);
265        map.put(PostVerbDefinition.class, PostVerbDefinitionPropertyPlaceholderProvider::new);
266        map.put(PutVerbDefinition.class, PutVerbDefinitionPropertyPlaceholderProvider::new);
267        map.put(RestBindingDefinition.class, RestBindingDefinitionPropertyPlaceholderProvider::new);
268        map.put(RestConfigurationDefinition.class, RestConfigurationDefinitionPropertyPlaceholderProvider::new);
269        map.put(RestDefinition.class, RestDefinitionPropertyPlaceholderProvider::new);
270        map.put(RestOperationParamDefinition.class, RestOperationParamDefinitionPropertyPlaceholderProvider::new);
271        map.put(RestOperationResponseHeaderDefinition.class, RestOperationResponseHeaderDefinitionPropertyPlaceholderProvider::new);
272        map.put(RestOperationResponseMsgDefinition.class, RestOperationResponseMsgDefinitionPropertyPlaceholderProvider::new);
273        map.put(RestPropertyDefinition.class, RestPropertyDefinitionPropertyPlaceholderProvider::new);
274        map.put(RestsDefinition.class, RestsDefinitionPropertyPlaceholderProvider::new);
275        map.put(RestSecuritiesDefinition.class, RestSecuritiesDefinitionPropertyPlaceholderProvider::new);
276        map.put(RestSecurityApiKey.class, RestSecurityApiKeyPropertyPlaceholderProvider::new);
277        map.put(RestSecurityBasicAuth.class, RestSecurityBasicAuthPropertyPlaceholderProvider::new);
278        map.put(RestSecurityOAuth2.class, RestSecurityOAuth2PropertyPlaceholderProvider::new);
279        map.put(SecurityDefinition.class, SecurityDefinitionPropertyPlaceholderProvider::new);
280        map.put(VerbDefinition.class, VerbDefinitionPropertyPlaceholderProvider::new);
281        map.put(RollbackDefinition.class, RollbackDefinitionPropertyPlaceholderProvider::new);
282        map.put(RouteDefinition.class, RouteDefinitionPropertyPlaceholderProvider::new);
283        map.put(RoutingSlipDefinition.class, RoutingSlipDefinitionPropertyPlaceholderProvider::new);
284        map.put(SagaDefinition.class, SagaDefinitionPropertyPlaceholderProvider::new);
285        map.put(SamplingDefinition.class, SamplingDefinitionPropertyPlaceholderProvider::new);
286        map.put(ScriptDefinition.class, ScriptDefinitionPropertyPlaceholderProvider::new);
287        map.put(SetBodyDefinition.class, SetBodyDefinitionPropertyPlaceholderProvider::new);
288        map.put(SetExchangePatternDefinition.class, SetExchangePatternDefinitionPropertyPlaceholderProvider::new);
289        map.put(SetHeaderDefinition.class, SetHeaderDefinitionPropertyPlaceholderProvider::new);
290        map.put(SetPropertyDefinition.class, SetPropertyDefinitionPropertyPlaceholderProvider::new);
291        map.put(SortDefinition.class, SortDefinitionPropertyPlaceholderProvider::new);
292        map.put(SplitDefinition.class, SplitDefinitionPropertyPlaceholderProvider::new);
293        map.put(StepDefinition.class, StepDefinitionPropertyPlaceholderProvider::new);
294        map.put(StopDefinition.class, StopDefinitionPropertyPlaceholderProvider::new);
295        map.put(ThreadsDefinition.class, ThreadsDefinitionPropertyPlaceholderProvider::new);
296        map.put(ThrottleDefinition.class, ThrottleDefinitionPropertyPlaceholderProvider::new);
297        map.put(ThrowExceptionDefinition.class, ThrowExceptionDefinitionPropertyPlaceholderProvider::new);
298        map.put(ToDefinition.class, ToDefinitionPropertyPlaceholderProvider::new);
299        map.put(ToDynamicDefinition.class, ToDynamicDefinitionPropertyPlaceholderProvider::new);
300        map.put(TransactedDefinition.class, TransactedDefinitionPropertyPlaceholderProvider::new);
301        map.put(TransformDefinition.class, TransformDefinitionPropertyPlaceholderProvider::new);
302        map.put(TryDefinition.class, TryDefinitionPropertyPlaceholderProvider::new);
303        map.put(UnmarshalDefinition.class, UnmarshalDefinitionPropertyPlaceholderProvider::new);
304        map.put(ValidateDefinition.class, ValidateDefinitionPropertyPlaceholderProvider::new);
305        map.put(WhenDefinition.class, WhenDefinitionPropertyPlaceholderProvider::new);
306        map.put(WhenSkipSendToEndpointDefinition.class, WhenSkipSendToEndpointDefinitionPropertyPlaceholderProvider::new);
307        map.put(WireTapDefinition.class, WireTapDefinitionPropertyPlaceholderProvider::new);
308        MAP = map;
309    }
310
311    public static Optional<PropertyPlaceholderConfigurer> provider(Object definition) {
312        Function<Object, PropertyPlaceholderConfigurer> func = MAP.get(definition.getClass());
313        if (func != null) {
314            return Optional.of(func.apply(definition));
315        }
316        return Optional.empty();
317    }
318
319}
320