All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.compass.core.CompassCallbackWithoutResult Maven / Gradle / Ivy

There is a newer version: 2.2.2-ldh
Show newest version
/*
 * Copyright 2004-2009 the original author or authors.
 * 
 * Licensed 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.compass.core;

/**
 * Simple convenience class for the CompassCallback implementation. Allows
 * implementing a doInCompass version without a result, i.e without the need for
 * a return statement.
 * 
 * @author kimchy
 */
public abstract class CompassCallbackWithoutResult implements CompassCallback {

    public Object doInCompass(CompassSession session) throws CompassException {
        doInCompassWithoutResult(session);
        return null;
    }

    /**
     * Gets called by CompassTemplate.execute with an active
     * Compass Session. Does not need to care about activating or closing the
     * Session, or handling transactions.
     *
     * 

If called without a thread-bound Compass transaction (initiated by an * outer compass transaction abstraction), the code will simply get executed * on the outer compass transaction with its transactional semantics. * * @param session * @throws CompassException */ protected abstract void doInCompassWithoutResult(CompassSession session) throws CompassException; }