public IPageManager adapt()

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();
			}
		};
	}