## ------------------------------------------------------------------------
## 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 ${package}

import java.util.Date

import org.apache.camel.Processor
import org.apache.camel.impl.ScheduledPollConsumer

/**
 * The ${name} consumer.
 */
class ${name}Consumer(endpoint: ${name}Endpoint, processor: Processor) extends ScheduledPollConsumer(endpoint, processor) {

  override def poll() : Int = {
    val exchange = endpoint.createExchange()

    // create a simple message body
    val now = new Date()
    exchange.getIn().setBody("Hello World! The time is " + now)

    try {
      // send message to next processor in the route
      getProcessor().process(exchange)
      return 1 // number of messages polled
    } finally {
      // log exception if an exception occurred and was not handled
      if (exchange.getException() != null) {
        getExceptionHandler().handleException("Error processing exchange", exchange, exchange.getException())
      }
    }
  }
}
