blob: a27ed4b910972d725d4796c3a7ff7c22fd6dd6d2 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.camel
package scala
package dsl
import org.apache.camel.model.DataFormatDefinition
import reflect.Manifest
import java.util.Comparator;
import org.apache.camel.processor.aggregate.AggregationStrategy
import org.apache.camel.spi.Policy
/**
* Defines the 'keywords' in our Scala DSL
*/
trait DSL {
def aggregate(expression: Exchange => Any, strategy: AggregationStrategy) : SAggregateDefinition
def as[Target](toType: Class[Target]) : DSL
def attempt : STryDefinition
def bean(bean: Any) : DSL
def choice : SChoiceDefinition
def delay(delay: Period) : SDelayDefinition
def enrich(uri:String, strategy: AggregationStrategy) : DSL
def filter(predicate: Exchange => Any) : SFilterDefinition
def handle[E](block: => Unit)(implicit manifest: Manifest[E]) : SOnExceptionDefinition
def idempotentconsumer(expression: Exchange => Any): SIdempotentConsumerDefinition
def inOnly(): DSL with Block
def inOut(): DSL with Block
def loadbalance : SLoadBalanceDefinition
def log(message: String) : DSL
def log(level: LoggingLevel, message: String) : DSL
def log(level: LoggingLevel, logName: String, message: String) : DSL
def loop(expression: Exchange => Any) : SLoopDefinition
def marshal(format : DataFormatDefinition) : DSL
def multicast : SMulticastDefinition
def otherwise : DSL with Block
def onCompletion : SOnCompletionDefinition
def onCompletion(predicate: Exchange => Boolean) : SOnCompletionDefinition
def onCompletion(config: Config[SOnCompletionDefinition]) : SOnCompletionDefinition
def pipeline : SPipelineDefinition
def policy(policy: Policy) : DSL
def pollEnrich(uri: String, strategy: AggregationStrategy = null, timeout: Long = 0) : DSL
def process(function: Exchange => Unit) : DSL
def process(processor: Processor) : DSL
def recipients(expression: Exchange => Any) : DSL
def resequence(expression: Exchange => Any) : SResequenceDefinition
def rollback : DSL
def routingSlip(header: String) : DSL
def routingSlip(header: String, separator: String) : DSL
def routingSlip(expression: Exchange => Any) : DSL
def dynamicRouter(expression: Exchange => Any) : DSL
def setbody(expression: Exchange => Any) : DSL
def setfaultbody(expression: Exchange => Any) : DSL
def setheader(header: String, expression: Exchange => Any) : DSL
def sort[T](expression: Exchange => Any, comparator: Comparator[T] = null) : DSL
def split(expression: Exchange => Any) : SSplitDefinition
def stop : DSL
def threads : SThreadsDefinition
def throttle(frequency: Frequency) : SThrottleDefinition
def throwException(exception: Exception) : DSL
def to(uris: String*) : DSL
def transacted : DSL
def transacted(ref: String) : DSL
def transform(expression: Exchange => Any) : DSL
def unmarshal(format: DataFormatDefinition) : DSL
def validate(expression: Exchange => Any) : DSL
def when(filter: Exchange => Any) : DSL with Block
def wiretap(uri: String) : DSL
def wiretap(uri: String, expression: Exchange => Any) : DSL
def -->(uris: String*) : DSL
}