Interface RecordFactory


  • public interface RecordFactory
    The RecordFactory interface is used for creating MappedRecord and IndexedRecord instances. Note that the RecordFactory is only used for creation of generic record instances. A CCI implementation provides an implementation class for the RecordFactory interface.
    Since:
    0.8
    Author:
    Rahul Sharma
    See Also:
    IndexedRecord, MappedRecord
    • Method Detail

      • createMappedRecord

        <K,​V> MappedRecord<K,​V> createMappedRecord​(String recordName)
                                                        throws ResourceException
        Creates a MappedRecord. The method takes the name of the record that is to be created by the RecordFactory. The name of the record acts as a pointer to the meta information (stored in the metadata repository) for a specific record type.
        Parameters:
        recordName - Name of the Record
        Returns:
        MappedRecord
        Throws:
        ResourceException - Failed to create a MappedRecord. Example error cases are:
        • Invalid specification of record name
        • Resource adapter internal error
        • Failed to access metadata repository
        NotSupportedException - Operation not supported
      • createIndexedRecord

        <E> IndexedRecord<E> createIndexedRecord​(String recordName)
                                          throws ResourceException
        Creates a IndexedRecord. The method takes the name of the record that is to be created by the RecordFactory. The name of the record acts as a pointer to the meta information (stored in the metadata repository) for a specific record type.
        Parameters:
        recordName - Name of the Record
        Returns:
        IndexedRecord
        Throws:
        ResourceException - Failed to create an IndexedRecord. Example error cases are:
        • Invalid specification of record name
        • Resource adapter internal error
        • Failed to access metadata repository
        NotSupportedException - Operation not supported