/* Generated by camel build tools - do NOT edit this file! */
package org.apache.camel.component.atomix.client.map;

import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.spi.InvokeOnHeaderStrategy;
import org.apache.camel.component.atomix.client.map.AtomixMapProducer;

/**
 * Generated by camel build tools - do NOT edit this file!
 */
@SuppressWarnings("unchecked")
public class AtomixMapProducerInvokeOnHeaderFactory implements InvokeOnHeaderStrategy {

    @Override
    public Object invoke(Object obj, String key, Exchange exchange, AsyncCallback callback) throws Exception {
        org.apache.camel.component.atomix.client.map.AtomixMapProducer target = (org.apache.camel.component.atomix.client.map.AtomixMapProducer) obj;
        switch (key) {
        case "clear":
        case "CLEAR": target.onClear(exchange.getMessage(), callback); return callback;
        case "contains_key":
        case "CONTAINS_KEY": target.onContainsKey(exchange.getMessage(), callback); return callback;
        case "contains_value":
        case "CONTAINS_VALUE": target.onContainsValue(exchange.getMessage(), callback); return callback;
        case "entry_set":
        case "ENTRY_SET": target.onEntrySet(exchange.getMessage(), callback); return callback;
        case "get":
        case "GET": target.onGet(exchange.getMessage(), callback); return callback;
        case "is_empty":
        case "IS_EMPTY": target.onIsEmpty(exchange.getMessage(), callback); return callback;
        case "put":
        case "PUT": target.onPut(exchange.getMessage(), callback); return callback;
        case "put_if_absent":
        case "PUT_IF_ABSENT": target.onPutIfAbsent(exchange.getMessage(), callback); return callback;
        case "remove":
        case "REMOVE": target.onRemove(exchange.getMessage(), callback); return callback;
        case "replace":
        case "REPLACE": target.onReplace(exchange.getMessage(), callback); return callback;
        case "size":
        case "SIZE": target.onSize(exchange.getMessage(), callback); return callback;
        case "values":
        case "VALUES": target.onValues(exchange.getMessage(), callback); return callback;
        default: return null;
        }
    }

}

