Package com.coditory.sherlock
Class SqlSherlockBuilder
- java.lang.Object
-
- com.coditory.sherlock.SqlSherlockBuilder
-
public final class SqlSherlockBuilder extends java.lang.Object
BuildsSherlock
that uses SQL database for locking mechanism.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_LOCKS_TABLE_NAME
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.coditory.sherlock.Sherlock
build()
static SqlSherlockBuilder
sqlSherlock()
static com.coditory.sherlock.Sherlock
sqlSherlock(java.sql.Connection connection)
SqlSherlockBuilder
withClock(java.time.Clock clock)
SqlSherlockBuilder
withConnection(java.sql.Connection connection)
T
withLockDuration(java.time.Duration arg0)
SqlSherlockBuilder
withLocksTable(java.lang.String tableName)
T
withOwnerId(java.lang.String arg0)
T
withStaticUniqueOwnerId()
T
withUniqueOwnerId()
-
-
-
Field Detail
-
DEFAULT_LOCKS_TABLE_NAME
public static final java.lang.String DEFAULT_LOCKS_TABLE_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
sqlSherlock
public static SqlSherlockBuilder sqlSherlock()
- Returns:
- new instance of the builder
-
sqlSherlock
public static com.coditory.sherlock.Sherlock sqlSherlock(java.sql.Connection connection)
- Parameters:
connection
- the connection to the database- Returns:
- sql sherlock with default configuration
-
withConnection
public SqlSherlockBuilder withConnection(java.sql.Connection connection)
- Parameters:
connection
- the connection to the database- Returns:
- the instance
-
withLocksTable
public SqlSherlockBuilder withLocksTable(java.lang.String tableName)
- Parameters:
tableName
- the name of the table that stores locks- Returns:
- the instance
-
withClock
public SqlSherlockBuilder withClock(java.time.Clock clock)
- Parameters:
clock
- time provider used in locking mechanism. Default:SherlockDefaults.DEFAULT_CLOCK
- Returns:
- the instance
-
build
public com.coditory.sherlock.Sherlock build()
- Returns:
- sherlock instance
- Throws:
java.lang.IllegalArgumentException
- when some required values are missing
-
withLockDuration
public T withLockDuration(java.time.Duration arg0)
-
withOwnerId
public T withOwnerId(java.lang.String arg0)
-
withUniqueOwnerId
public T withUniqueOwnerId()
-
withStaticUniqueOwnerId
public T withStaticUniqueOwnerId()
-
-