in wicket-core/src/main/java/org/apache/wicket/page/PageAccessSynchronizer.java [100:190]
public IPageManager adapt(final IPageManager manager)
{
return new IPageManager()
{
@Override
public boolean supportsVersioning()
{
return manager.supportsVersioning();
}
@Override
public IManageablePage getPage(int pageId)
{
IManageablePage page = null;
try
{
lockPage(pageId);
page = manager.getPage(pageId);
}
finally
{
if (page == null)
{
unlockPage(pageId);
}
}
return page;
}
@Override
public void removePage(IManageablePage page)
{
if (page != null)
{
try
{
manager.removePage(page);
}
finally
{
unlockPage(page.getPageId());
}
}
}
@Override
public void touchPage(IManageablePage page)
{
lockPage(page.getPageId());
manager.touchPage(page);
}
@Override
public void clear()
{
manager.clear();
}
@Override
public void untouchPage(IManageablePage page)
{
manager.untouchPage(page);
}
@Override
public void detach()
{
try
{
manager.detach();
}
finally
{
unlockAllPages();
}
}
@Override
public IPageStore getPageStore()
{
return manager.getPageStore();
}
@Override
public void destroy()
{
manager.destroy();
}
};
}