Class EISPlatform

  • All Implemented Interfaces:
    Serializable, Cloneable, CorePlatform<ConversionManager>, Platform

    public class EISPlatform
    extends DatasourcePlatform

    An EISPlatform defines any EIS adapter specific behavior. This may include:

    • Instantiation of the adapter InteractionSpec
    • Conversion from an adapter custom Record
    • Perform platform specific record access
    • Provide XML DOM record conversion
    • Provide sequence support

    EISPlatform also supports behavior for specifying the record types supported and automatic data-conversion to strings.

    Although use of the generic EISPlatform may be sufficient, some adapters may require that a specific platform be defined.

    Since:
    OracleAS TopLink 10g (10.0.3)
    Author:
    James
    See Also:
    Serialized Form
    • Field Detail

      • isIndexedRecordSupported

        protected boolean isIndexedRecordSupported
      • isMappedRecordSupported

        protected boolean isMappedRecordSupported
      • isDOMRecordSupported

        protected boolean isDOMRecordSupported
      • shouldConvertDataToStrings

        protected boolean shouldConvertDataToStrings
        Can be used for adapters that only support String data/XML.
      • supportsLocalTransactions

        protected boolean supportsLocalTransactions
        Allows for usage of transaction to be disabled if not supported.
      • requiresAutoCommit

        protected boolean requiresAutoCommit
        Can be used if a commit is required after every interaction outside of a local transaction.
      • recordConverter

        protected RecordConverter recordConverter
        Can be used to convert from an adapter specific record.
      • domMethod

        protected Method domMethod
        Used to reflectively provide XML record support as DOMRecord is not part of the JCA-CCI spec.
      • xmlConversionManager

        protected XMLConversionManager xmlConversionManager
        For XML usage, an XMLConversionManager instance is required
    • Constructor Detail

      • EISPlatform

        public EISPlatform()
        Default constructor.
    • Method Detail

      • getRecordConverter

        public RecordConverter getRecordConverter()
        Return the record converter.
      • setRecordConverter

        public void setRecordConverter​(RecordConverter recordConverter)
        Set the record converter. Can be used to convert from an adapter specific record.
      • requiresAutoCommit

        public boolean requiresAutoCommit()
        Return if this platform requires auto commit of the local transaction for interactions outside of an interaction.
      • setRequiresAutoCommit

        public void setRequiresAutoCommit​(boolean requiresAutoCommit)
        Set if this platform requires auto commit of the local transaction for interactions outside of an interaction.
      • supportsLocalTransactions

        public boolean supportsLocalTransactions()
        Return if this platform supports local transactions.
      • setSupportsLocalTransactions

        public void setSupportsLocalTransactions​(boolean supportsLocalTransactions)
        Set if this platform supports local transactions.
      • isIndexedRecordSupported

        public boolean isIndexedRecordSupported()
        Return if this platform supports JCA IndexedRecord.
      • setIsIndexedRecordSupported

        public void setIsIndexedRecordSupported​(boolean isIndexedRecordSupported)
        Set if this platform supports JCA IndexedRecord.
      • isMappedRecordSupported

        public boolean isMappedRecordSupported()
        Return if this platform supports JCA MappedRecord.
      • setIsMappedRecordSupported

        public void setIsMappedRecordSupported​(boolean isMappedRecordSupported)
        Set if this platform supports JCA MappedRecord.
      • isDOMRecordSupported

        public boolean isDOMRecordSupported()
        Return if this platform supports XML/DOM Records.
      • setIsDOMRecordSupported

        public void setIsDOMRecordSupported​(boolean isDOMRecordSupported)
        Set if this platform supports XML/DOM Records.
      • shouldConvertDataToStrings

        public boolean shouldConvertDataToStrings()
        Return if all data set into the adapter should be first converted to strings.
      • setShouldConvertDataToStrings

        public void setShouldConvertDataToStrings​(boolean shouldConvertDataToStrings)
        Set if all data set into the adapter should be first converted to strings.
      • buildInteractionSpec

        public jakarta.resource.cci.InteractionSpec buildInteractionSpec​(EISInteraction interaction)
        Allow the platform to build the interaction spec based on properties defined in the interaction.
      • createInputRecord

        public jakarta.resource.cci.Record createInputRecord​(EISInteraction interaction,
                                                             EISAccessor accessor)
        Allow the platform to create the appropriate type of record for the interaction.
      • createOutputRecord

        public jakarta.resource.cci.Record createOutputRecord​(EISInteraction interaction,
                                                              AbstractRecord translationRow,
                                                              EISAccessor accessor)
        Allow the platform to create the appropriate type of record for the interaction. If an output record is not required then null is returned.
      • buildRow

        public AbstractRecord buildRow​(jakarta.resource.cci.Record record,
                                       EISInteraction interaction,
                                       EISAccessor accessor)
        INTERNAL: Allow the platform to handle record to row conversion.
      • buildRows

        public Vector buildRows​(jakarta.resource.cci.Record record,
                                EISInteraction interaction,
                                EISAccessor accessor)
        Allow the platform to handle record to row conversion.
      • createDOMRecord

        public jakarta.resource.cci.Record createDOMRecord​(String recordName,
                                                           EISAccessor accessor)
        Allow the platform to handle the creation of the DOM record. By default create a mapped record an assume it implements DOM as well.
      • createDatabaseRowFromDOMRecord

        public AbstractRecord createDatabaseRowFromDOMRecord​(jakarta.resource.cci.Record record,
                                                             EISInteraction call,
                                                             EISAccessor accessor)
        INTERNAL: Allow the platform to handle the creation of the Record for the DOM record. By default instantiate an EISDOMRecord which introspects the record for a getDOM method.
      • getValueFromRecord

        public Object getValueFromRecord​(String key,
                                         jakarta.resource.cci.MappedRecord record,
                                         EISAccessor accessor)
        Retrieves the field value from the record. This allows for the platform to perform any platform specific translation or conversion.
      • setDOMInRecord

        public void setDOMInRecord​(Element dom,
                                   jakarta.resource.cci.Record record,
                                   EISInteraction call,
                                   EISAccessor accessor)
        Stores the XML DOM value into the record. This must be implemented by the platform if it support XML/DOM records.
      • setValueInRecord

        public void setValueInRecord​(String key,
                                     Object value,
                                     jakarta.resource.cci.MappedRecord record,
                                     EISAccessor accessor)
        Stores the field value into the record. This allows for the platform to perform any platform specific translation or conversion.
      • buildCallFromStatement

        public DatasourceCall buildCallFromStatement​(SQLStatement statement,
                                                     DatabaseQuery query,
                                                     AbstractSession session)
        INTERNAL: Override this method to throw an exception by default. Platforms that support dynamic querying can override this to generate an EISInteraction.
      • buildNativeCall

        public DatasourceCall buildNativeCall​(String queryString)
        INTERNAL: Return the correct call type for the native query string. This allows EIS platforms to use different types of native calls.
        Overrides:
        buildNativeCall in class DatasourcePlatform