001/* Generated by camel build tools - do NOT edit this file! */
002package org.apache.camel.component.event;
003
004import java.net.URISyntaxException;
005import java.util.Collections;
006import java.util.HashMap;
007import java.util.HashSet;
008import java.util.Map;
009import java.util.Set;
010
011import org.apache.camel.spi.EndpointUriFactory;
012
013/**
014 * Generated by camel build tools - do NOT edit this file!
015 */
016public class EventEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
017
018    private static final String BASE = ":name";
019
020    private static final Set<String> PROPERTY_NAMES;
021    private static final Set<String> SECRET_PROPERTY_NAMES;
022    static {
023        Set<String> props = new HashSet<>(7);
024        props.add("basicPropertyBinding");
025        props.add("lazyStartProducer");
026        props.add("bridgeErrorHandler");
027        props.add("synchronous");
028        props.add("name");
029        props.add("exchangePattern");
030        props.add("exceptionHandler");
031        PROPERTY_NAMES = Collections.unmodifiableSet(props);
032        SECRET_PROPERTY_NAMES = Collections.emptySet();
033    }
034
035    @Override
036    public boolean isEnabled(String scheme) {
037        return "spring-event".equals(scheme);
038    }
039
040    @Override
041    public String buildUri(String scheme, Map<String, Object> properties) throws URISyntaxException {
042        String syntax = scheme + BASE;
043        String uri = syntax;
044
045        Map<String, Object> copy = new HashMap<>(properties);
046
047        uri = buildPathParameter(syntax, uri, "name", null, false, copy);
048        uri = buildQueryParameters(uri, copy);
049        return uri;
050    }
051
052    @Override
053    public Set<String> propertyNames() {
054        return PROPERTY_NAMES;
055    }
056
057    @Override
058    public Set<String> secretPropertyNames() {
059        return SECRET_PROPERTY_NAMES;
060    }
061
062    @Override
063    public boolean isLenientProperties() {
064        return false;
065    }
066}
067