package com.spun.util.database.automaticsetter;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import com.spun.util.database.AutomaticVariableSetter;
import com.spun.util.database.DatabaseObject;
public class ChangeDateVariableSetter
implements AutomaticVariableSetter
{
public static final ChangeDateVariableSetter INSTANCE = new ChangeDateVariableSetter();
private ChangeDateVariableSetter () {}
/***********************************************************************/
public void setFor(DatabaseObject forObject, int atStage, Statement stmt) throws SQLException
{
if (atStage == AutomaticVariableSetter.UPDATE)
{
((ChangeDateAware)forObject).setChangeDate(new Timestamp(System.currentTimeMillis()));
}
else if (atStage == AutomaticVariableSetter.INSERT)
{
if (forObject instanceof AddDateAware && ((AddDateAware)forObject).getAddDate() != null)
{
((ChangeDateAware)forObject).setChangeDate(((AddDateAware)forObject).getAddDate());
}
else
{
((ChangeDateAware)forObject).setChangeDate(new Timestamp(System.currentTimeMillis()));
}
}
}
/***********************************************************************/
/***********************************************************************/
}