Author: ningjiang Date: Wed Aug 29 07:39:04 2012 New Revision: 1378464 URL: http://svn.apache.org/viewvc?rev=1378464&view=rev Log: CAMEL-3104 moving the ExchangeBuilder to builder package and added java doc for the end user API
Added: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java - copied, changed from r1378463, camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java - copied, changed from r1378463, camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java Removed: camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java Copied: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java (from r1378463, camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java) URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java&r1=1378463&r2=1378464&rev=1378464&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/util/ExchangeBuilder.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExchangeBuilder.java Wed Aug 29 07:39:04 2012 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.camel.util; +package org.apache.camel.builder; import java.util.HashMap; import java.util.Map; @@ -25,7 +25,7 @@ import org.apache.camel.ExchangePattern; import org.apache.camel.Message; import org.apache.camel.impl.DefaultExchange; -public class ExchangeBuilder { +public final class ExchangeBuilder { private CamelContext context; private ExchangePattern pattern; private Object body; @@ -36,35 +36,67 @@ public class ExchangeBuilder { this.context = context; } + /** + * Create the exchange by setting the camel context + * @param context the camel context + * @return exchange builder + */ public static ExchangeBuilder anExchange(CamelContext context) { return new ExchangeBuilder(context); } + /** + * Set the in message body on the exchange + * @param body + * @return exchange builder + */ public ExchangeBuilder withBody(Object body) { this.body = body; return this; } + /** + * Set the message header of the in message on the exchange + * @param key the key of the header + * @param value the value of the header + * @return exchange builder + */ public ExchangeBuilder withHeader(String key, Object value) { headers.put(key, value); return this; } + /** + * Set the message exchange pattern on the exchange + * @param pattern exchange pattern + * @return exchange builder + */ public ExchangeBuilder withPattern(ExchangePattern pattern) { this.pattern = pattern; return this; } + /** + * Set the exchange property + * @param pattern exchange pattern + * @return exchange builder + */ public ExchangeBuilder withProperty(String key, Object value) { properties.put(key, value); return this; } + /** + * Build up the exchange from the exchange builder + * @return exchange + */ public Exchange build() { Exchange exchange = new DefaultExchange(context); Message message = exchange.getIn(); message.setBody(body); - message.setHeaders(headers); + if (headers.size() > 0) { + message.setHeaders(headers); + } // setup the properties on the exchange for (Map.Entry<String, Object> entry : properties.entrySet()) { exchange.setProperty(entry.getKey(), entry.getValue()); Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java (from r1378463, camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java&r1=1378463&r2=1378464&rev=1378464&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/util/ExchangeBuilderTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java Wed Aug 29 07:39:04 2012 @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.camel.util; +package org.apache.camel.builder; import junit.framework.TestCase;