package engine;
import com.github.ddth.id.JdbcIdGenerator;
import com.github.ddth.id.SerialIdGenerator;
/**
* Jdbc-implementation of {@link IIdEngine}.
*
* <p>
* IDs generated by this engine are:
* <ul>
* <li>Persistent: (*) backed by database system.</li>
* </ul>
* <p/>
*
* @author ThanhNB
* @since 0.1.0
*/
public class JdbcIdEngine extends BaseSerialIdEngine {
/**
* {@inheritDoc}
*/
@Override
protected JdbcIdGenerator getIdGenerator() {
return (JdbcIdGenerator) super.getIdGenerator();
}
/**
* {@inheritDoc}
*/
@Override
public JdbcIdEngine setIdGenerator(SerialIdGenerator idGenerator) {
if (!(idGenerator instanceof JdbcIdGenerator)) {
final String errorMsg = "Argument must be of type [" + JdbcIdGenerator.class.getName()
+ "]!";
throw new IllegalArgumentException(errorMsg);
}
super.setIdGenerator(idGenerator);
return this;
}
}