/*
 * Copyright (c) 2009 JSCAPE
 * 1147 S. 53rd Pl., Mesa, Arizona, 85206, U.S.A.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * JSCAPE. ("Confidential Information").  You shall not disclose such
 * Confidential Information and shall use it only in accordance with
 * the terms of the license agreement you entered into with JSCAPE.
 *
 */

package com.jscape.util.event;

import com.jscape.util.functor.UnaryProcedure;

/**
 * @author Alex Usun
 */
@SuppressWarnings("unchecked")
public class RequestPoster
        extends UnaryProcedure<Request> {

    /**
     * Event Context.
     */
    private final EventContext context;

    /**
     * @param context EventContext instance
     */
    public RequestPoster(EventContext context) {
        this.context = context;
    }

    /**
     * @param value Request instance
     */
    public void evaluate(Request value) {
        try {
            this.context.post(value);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}