Sets the source data that will be hashed by a {@link HashService}.
<p/>
This is a convenience alternative to {@link #setSource(ByteSource)}: it will attempt to convert the
argument into a {@link ByteSource} instance using Shiro's default conversion heuristics
(as defined by {@link ByteSourceUtil#isCompatible(Object) ByteSourceUtil.isCompatible}. If the object
cannot be heuristically converted to a {@code ByteSource}, an {@code IllegalArgumentException} will be
thrown.
@param source the byte-backed source data that will be hashed by a {@link HashService}.
@return this {@code Builder} instance for method chaining.
@throws IllegalArgumentException if the argument cannot be heuristically converted to a {@link ByteSource}
instance.
@see HashRequest#getSource()
@see #setSource(ByteSource)
Sets the source data that will be hashed by a {@link HashService}. <p/> This is a convenience alternative to {@link #setSource(ByteSource)}: it will attempt to convert the argument into a {@link ByteSource} instance using Shiro's default conversion heuristics (as defined by {@link ByteSourceUtil#isCompatible(Object) ByteSourceUtil.isCompatible}. If the object cannot be heuristically converted to a {@code ByteSource}, an {@code IllegalArgumentException} will be thrown.
@param source the byte-backed source data that will be hashed by a {@link HashService}. @return this {@code Builder} instance for method chaining. @throws IllegalArgumentException if the argument cannot be heuristically converted to a {@link ByteSource} instance. @see HashRequest#getSource() @see #setSource(ByteSource)