blob: bf8ada5ec04f7ef5cdaf3e9a0ebb604395f5008e [file] [log] [blame]
package org.example.app0.pages;
import org.apache.tapestry.hibernate.annotations.CommitAfter;
import org.example.app0.entities.User;
import java.sql.SQLException;
/**
* Demos the CommitAfter annotation on component methods.
*/
public class CommitAfterDemo
{
private User user;
void onActivate(User user)
{
this.user = user;
}
Object onPassivate()
{
return user;
}
public User getUser()
{
return user;
}
public void setUser(User user)
{
this.user = user;
}
@CommitAfter
void onChangeName()
{
user.setFirstName("Frank");
}
@CommitAfter
void doChangeNameWithRuntimeException()
{
user.setFirstName("Bill");
throw new RuntimeException("To avoid commit.");
}
void onChangeNameWithRuntimeException()
{
try
{
doChangeNameWithRuntimeException();
}
catch (Exception ex)
{
// Ignore
}
}
@CommitAfter
void doChangeNameWithCheckedException() throws SQLException
{
user.setFirstName("Troy");
throw new SQLException("Doesn't matter.");
}
void onChangeNameWithCheckedException()
{
try
{
doChangeNameWithCheckedException();
}
catch (Exception ex)
{
// Ignore
}
}
}