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

org.springframework.jca.cci.core.RecordCreator Maven / Gradle / Ivy

/*
 * Copyright 2002-2016 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
 *
 *      https://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.springframework.jca.cci.core;

import javax.resource.ResourceException;
import javax.resource.cci.Record;
import javax.resource.cci.RecordFactory;

import org.springframework.dao.DataAccessException;

/**
 * Callback interface for creating a CCI Record instance,
 * usually based on the passed-in CCI RecordFactory.
 *
 * 

Used for input Record creation in CciTemplate. Alternatively, * Record instances can be passed into CciTemplate's corresponding * {@code execute} methods directly, either instantiated manually * or created through CciTemplate's Record factory methods. * *

Also used for creating default output Records in CciTemplate. * This is useful when the JCA connector needs an explicit output Record * instance, but no output Records should be passed into CciTemplate's * {@code execute} methods. * * @author Thierry Templier * @author Juergen Hoeller * @since 1.2 * @see CciTemplate#execute(javax.resource.cci.InteractionSpec, RecordCreator) * @see CciTemplate#execute(javax.resource.cci.InteractionSpec, RecordCreator, RecordExtractor) * @see CciTemplate#createIndexedRecord(String) * @see CciTemplate#createMappedRecord(String) * @see CciTemplate#setOutputRecordCreator(RecordCreator) */ @FunctionalInterface public interface RecordCreator { /** * Create a CCI Record instance, usually based on the passed-in CCI RecordFactory. *

For use as input creator with CciTemplate's {@code execute} methods, * this method should create a populated Record instance. For use as * output Record creator, it should return an empty Record instance. * @param recordFactory the CCI RecordFactory (never {@code null}, but not guaranteed to be * supported by the connector: its create methods might throw NotSupportedException) * @return the Record instance * @throws ResourceException if thrown by a CCI method, to be auto-converted * to a DataAccessException * @throws DataAccessException in case of custom exceptions */ Record createRecord(RecordFactory recordFactory) throws ResourceException, DataAccessException; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy