Class MessageFieldArgument<M extends PMessage<M>>

  • Type Parameters:
    M - The message type.
    All Implemented Interfaces:
    org.skife.jdbi.v2.tweak.Argument

    public class MessageFieldArgument<M extends PMessage<M>>
    extends java.lang.Object
    implements org.skife.jdbi.v2.tweak.Argument
    Smart mapping of message fields to SQL bound argument. It will map the type to whichever type is default or selected (if supported) for most field types.
    • Constructor Detail

      • MessageFieldArgument

        public MessageFieldArgument​(@Nonnull
                                    PMessageOrBuilder<M> message,
                                    @Nonnull
                                    PField<M> field)
        Create a message field argument.
        Parameters:
        message - The message to get the field from.
        field - The field to select.
      • MessageFieldArgument

        public MessageFieldArgument​(@Nonnull
                                    PMessageOrBuilder<M> message,
                                    @Nonnull
                                    PField<M> field,
                                    int type)
        Create a message field argument.
        Parameters:
        message - The message to get the field from.
        field - The field to select.
        type - The SQL type. See Types.
    • Method Detail

      • toString

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

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • apply

        public void apply​(int position,
                          java.sql.PreparedStatement statement,
                          org.skife.jdbi.v2.StatementContext ctx)
                   throws java.sql.SQLException
        Specified by:
        apply in interface org.skife.jdbi.v2.tweak.Argument
        Throws:
        java.sql.SQLException