class Page implements WikiConstants {

	public Set<Category> getCategories()
	{
		Session session = this.wiki.__getHibernateSession();
		session.beginTransaction();
		session.buildLockRequest(LockOptions.NONE).lock(hibernatePage);
		Set<Integer> tmp = new UnmodifiableArraySet<Integer>(hibernatePage.getCategories());
		session.getTransaction().commit();

		Set<Category> categories = new HashSet<Category>();
		for (int pageID : tmp) {
			categories.add(wiki.getCategory(pageID));
		}

		return categories;
	}

	protected  Page(Wikipedia wiki, long id);
	protected  Page(Wikipedia wiki, int pageID);
	public  Page(Wikipedia wiki, String pName);
	public  Page(Wikipedia wiki, String pName, boolean useExactTitle);
	protected  Page(Wikipedia wiki, long id,
			de.tudarmstadt.ukp.wikipedia.api.hibernate.Page hibernatePage);

}