public static Class createClass( ObjectFactory objectFactory, URI baseUri, String wikiName, com.xpn.xwiki.api.Class xwikiClass) { Class clazz = objectFactory.createClass(); clazz.setId(xwikiClass.getName()); clazz.setName(xwikiClass.getName()); for (java.lang.Object xwikiPropertyClassObject : xwikiClass.getProperties()) { PropertyClass xwikiPropertyClass = (PropertyClass) xwikiPropertyClassObject; Property property = objectFactory.createProperty(); property.setName(xwikiPropertyClass.getName()); property.setType(xwikiPropertyClass.getxWikiClass().getName()); for (java.lang.Object xwikiPropertyObject : xwikiPropertyClass.getProperties()) { com.xpn.xwiki.api.Property xwikiProperty = (com.xpn.xwiki.api.Property) xwikiPropertyObject; java.lang.Object value = xwikiProperty.getValue(); Attribute attribute = objectFactory.createAttribute(); attribute.setName(xwikiProperty.getName()); if (value != null) { attribute.setValue(value.toString()); } else { attribute.setValue(""); } property.getAttributes().add(attribute); } String propertyUri = uri( baseUri, ClassPropertyResource.class, wikiName, xwikiClass.getName(), xwikiPropertyClass.getName()); Link propertyLink = objectFactory.createLink(); propertyLink.setHref(propertyUri); propertyLink.setRel(Relations.SELF); property.getLinks().add(propertyLink); clazz.getProperties().add(property); } String classUri = uri(baseUri, ClassResource.class, wikiName, xwikiClass.getName()); Link classLink = objectFactory.createLink(); classLink.setHref(classUri); classLink.setRel(Relations.SELF); clazz.getLinks().add(classLink); String propertiesUri = uri(baseUri, ClassPropertiesResource.class, wikiName, xwikiClass.getName()); Link propertyLink = objectFactory.createLink(); propertyLink.setHref(propertiesUri); propertyLink.setRel(Relations.PROPERTIES); clazz.getLinks().add(propertyLink); String objectsUri = uri(baseUri, AllObjectsForClassNameResource.class, wikiName, xwikiClass.getName()); Link objectsLink = objectFactory.createLink(); objectsLink.setHref(objectsUri); objectsLink.setRel(Relations.OBJECTS); clazz.getLinks().add(objectsLink); return clazz; }