001: /*
002: * $Id: EndpointURIEndpointBuilder.java 11311 2008-03-10 20:15:57Z dfeist $
003: * --------------------------------------------------------------------------------------
004: * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
005: *
006: * The software in this package is published under the terms of the CPAL v1.0
007: * license, a copy of which has been included with this distribution in the
008: * LICENSE.txt file.
009: */
010:
011: package org.mule.endpoint;
012:
013: import org.mule.api.MuleContext;
014: import org.mule.api.context.MuleContextAware;
015: import org.mule.api.endpoint.EndpointException;
016: import org.mule.api.endpoint.EndpointURI;
017: import org.mule.api.endpoint.ImmutableEndpoint;
018:
019: public class EndpointURIEndpointBuilder extends AbstractEndpointBuilder
020: implements MuleContextAware {
021:
022: public EndpointURIEndpointBuilder() {
023: // blank
024: }
025:
026: /**
027: * Called from Spring
028: *
029: * @param global The global endpoint "template"
030: * @throws EndpointException
031: */
032: public EndpointURIEndpointBuilder(EndpointURIEndpointBuilder global)
033: throws EndpointException {
034: // can't (concisely) use setters where null is a possibility
035: // for consistency, set directly on all fields (this also avoids logic in
036: // getters)
037: uriBuilder = global.uriBuilder;
038: connector = global.connector;
039: transformers = global.transformers;
040: responseTransformers = global.responseTransformers;
041: name = global.name; // this seems a bit odd, but is tested for in the big
042: // spring config test case
043: properties = global.properties;
044: transactionConfig = global.transactionConfig;
045: filter = global.filter;
046: deleteUnacceptedMessages = global.deleteUnacceptedMessages;
047: securityFilter = global.securityFilter;
048: synchronous = global.synchronous;
049: remoteSync = global.remoteSync;
050: remoteSyncTimeout = global.remoteSyncTimeout;
051: encoding = global.encoding;
052: connectionStrategy = global.connectionStrategy;
053: }
054:
055: public EndpointURIEndpointBuilder(URIBuilder URIBuilder,
056: MuleContext muleContext) {
057: this .muleContext = muleContext;
058: this .uriBuilder = URIBuilder;
059: }
060:
061: /**
062: * @deprecated
063: */
064: public EndpointURIEndpointBuilder(String address,
065: MuleContext muleContext) {
066: this (new URIBuilder(address), muleContext);
067: }
068:
069: /**
070: * @deprecated
071: */
072: public EndpointURIEndpointBuilder(EndpointURI endpointURI,
073: MuleContext muleContext) {
074: this (new URIBuilder(endpointURI), muleContext);
075: }
076:
077: public EndpointURIEndpointBuilder(ImmutableEndpoint source,
078: MuleContext muleContext) {
079: this(source.getEndpointURI(), muleContext);
080: setName(source.getName());
081: setEncoding(source.getEncoding());
082: setConnector(source.getConnector());
083: setTransformers(source.getTransformers().isEmpty() ? null
084: : source.getTransformers());
085: setResponseTransformers(source.getResponseTransformers()
086: .isEmpty() ? null : source.getResponseTransformers());
087: setProperties(source.getProperties());
088: setTransactionConfig(source.getTransactionConfig());
089: setDeleteUnacceptedMessages(source.isDeleteUnacceptedMessages());
090: setInitialState(source.getInitialState());
091: setRemoteSyncTimeout(source.getRemoteSyncTimeout());
092: setRemoteSync(source.isRemoteSync());
093: setFilter(source.getFilter());
094: setSecurityFilter(source.getSecurityFilter());
095: setConnectionStrategy(source.getConnectionStrategy());
096: setSynchronous(source.isSynchronous());
097: setMuleContext(source.getMuleContext());
098: }
099:
100: }
|