Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * 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 com.gh.bmd.jrt.routine;
Default implementation of a routine object instantiating invocation objects through a factory.

Created by davide on 9/9/14.

Parameters:
<INPUT> the input data type.
<OUTPUT> the output data type.
class DefaultRoutine<INPUT, OUTPUT> extends AbstractRoutine<INPUT, OUTPUT> {
    private final InvocationFactory<INPUT, OUTPUT> mFactory;

    
Constructor.

Parameters:
configuration the routine configuration.
factory the invocation factory.
Throws:
java.lang.IllegalArgumentException if at least one of the parameter is invalid.
java.lang.NullPointerException if at least one of the parameter is null.
    @SuppressWarnings("ConstantConditions")
    DefaultRoutine(@Nonnull final RoutineConfiguration configuration,
            @Nonnull final InvocationFactory<INPUT, OUTPUT> factory) {
        super(configuration);
        if (factory == null) {
            throw new NullPointerException("the invocation factory must not be null");
        }
         = factory;
    }
    @Nonnull
    @Override
    protected Invocation<INPUT, OUTPUT> newInvocation(final boolean async) {
        final Logger logger = getLogger();
        try {
            final InvocationFactory<INPUT, OUTPUT> factory = ;
            logger.dbg("creating a new invocation instance with factory: %s"factory);
            final Invocation<INPUT, OUTPUT> invocation = factory.newInvocation();
            logger.dbg("created a new instance of class: %s"invocation.getClass());
            return invocation;
        } catch (final RoutineException e) {
            logger.err(e"error creating the invocation instance");
            throw e;
        } catch (final Throwable t) {
            logger.err(t"error creating the invocation instance");
            throw new InvocationException(t);
        }
    }
New to GrepCode? Check out our FAQ X