Class MessageRowMapper<M extends net.morimekta.providence.PMessage<M>>

  • Type Parameters:
    M - The message type.
    All Implemented Interfaces:
    org.jdbi.v3.core.mapper.RowMapper<M>

    public class MessageRowMapper<M extends net.morimekta.providence.PMessage<M>>
    extends java.lang.Object
    implements org.jdbi.v3.core.mapper.RowMapper<M>
    Map a result set to a message based on meta information and the message descriptor.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ALL_FIELDS  
    • Constructor Summary

      Constructors 
      Constructor Description
      MessageRowMapper​(java.lang.String tableName, net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor)
      Create a message row mapper.
      MessageRowMapper​(java.lang.String tableName, net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor, java.util.Map<java.lang.String,​net.morimekta.providence.descriptor.PField<M>> fieldMapping)
      Create a message row mapper.
      MessageRowMapper​(net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor)
      Create a message row mapper.
      MessageRowMapper​(net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor, java.util.Map<java.lang.String,​net.morimekta.providence.descriptor.PField<M>> fieldMapping)
      Create a message row mapper.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      M map​(java.sql.ResultSet rs, org.jdbi.v3.core.statement.StatementContext ctx)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.jdbi.v3.core.mapper.RowMapper

        specialize
    • Constructor Detail

      • MessageRowMapper

        public MessageRowMapper​(@Nonnull
                                net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor)
        Create a message row mapper.
        Parameters:
        descriptor - Message descriptor.
      • MessageRowMapper

        public MessageRowMapper​(@Nonnull
                                java.lang.String tableName,
                                @Nonnull
                                net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor)
        Create a message row mapper.
        Parameters:
        tableName - The name of the table to filter fields for this mapper.
        descriptor - Message descriptor.
      • MessageRowMapper

        public MessageRowMapper​(@Nonnull
                                net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor,
                                @Nonnull
                                java.util.Map<java.lang.String,​net.morimekta.providence.descriptor.PField<M>> fieldMapping)
        Create a message row mapper.
        Parameters:
        descriptor - Message descriptor.
        fieldMapping - The field mapping. If empty will map all fields with default names.
      • MessageRowMapper

        public MessageRowMapper​(@Nonnull
                                java.lang.String tableName,
                                @Nonnull
                                net.morimekta.providence.descriptor.PMessageDescriptor<M> descriptor,
                                @Nonnull
                                java.util.Map<java.lang.String,​net.morimekta.providence.descriptor.PField<M>> fieldMapping)
        Create a message row mapper.
        Parameters:
        tableName - The name of the table to filter fields for this mapper.
        descriptor - Message descriptor.
        fieldMapping - The field mapping. If empty will map all fields with default names.
    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • map

        public M map​(java.sql.ResultSet rs,
                     org.jdbi.v3.core.statement.StatementContext ctx)
              throws java.sql.SQLException
        Specified by:
        map in interface org.jdbi.v3.core.mapper.RowMapper<M extends net.morimekta.providence.PMessage<M>>
        Throws:
        java.sql.SQLException