blob: 6fcff309296a7c853ecc97d75011cac3393a1a36 [file] [log] [blame]
package org.example.app0.pages;
import org.apache.tapestry5.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
}
}
}