private URI createURI(Class<?> beanClass) { if (beanClass.isAnnotationPresent(rdf.class)) { String[] values = beanClass.getAnnotation(rdf.class).value(); if (values.length > 0) return vf.createURI(values[0]); } String ns = findNamespace(beanClass); if (ns == null) return vf.createURI("java:", beanClass.getName()); String localName = beanClass.getSimpleName(); return vf.createURI(ns + localName); }
private String findNamespace(Class<?> beanClass) { String packageName = getPackageName(beanClass); if (namespaces.containsKey(packageName)) return namespaces.get(packageName); Package pkg = beanClass.getPackage(); if (pkg != null && pkg.isAnnotationPresent(rdf.class)) { String name = pkg.getAnnotation(rdf.class).value()[0]; return getNamespace(name); } return null; }
public SesamePropertyFactory<E> setField(Field field) { String uri; rdf rdf = field.getAnnotation(rdf.class); inverseOf inv = field.getAnnotation(inverseOf.class); if (rdf != null && rdf.value().length > 0) { uri = rdf.value()[0]; inverse = false; } else if (inv != null && inv.value().length > 0) { uri = inv.value()[0]; inverse = true; } else { throw new IllegalArgumentException("Field has no Elmo annotations"); } predicate = vf.createURI(uri); localized = field.isAnnotationPresent(localized.class); if (field.isAnnotationPresent(oneOf.class)) { oneOf = convertOneOf(field.getAnnotation(oneOf.class)); } inferencer = getPropertyChanger(); return this; }
for (String rdf : types.split("\\s+")) { if (rdf.length() == 0 && present) { rdf = lc.getAnnotation(rdf.class).value()[0]; recordType(lc, factory.createURI(rdf)); } else if (rdf.length() == 0) {
public SesamePropertyFactory<E> setPropertyDescriptor( PropertyDescriptor property) { String uri; Method getter = property.getReadMethod(); rdf rdf = getter.getAnnotation(rdf.class); inverseOf inv = getter.getAnnotation(inverseOf.class); if (rdf != null && rdf.value().length > 0) { uri = rdf.value()[0]; inverse = false; } else if (inv != null && inv.value().length > 0) { uri = inv.value()[0]; inverse = true; } else { throw new IllegalArgumentException( "Property has no Elmo annotations on the getter method"); } predicate = vf.createURI(uri); localized = getter.isAnnotationPresent(localized.class); Method setter = property.getWriteMethod(); readOnly = setter == null; if (setter != null && setter.isAnnotationPresent(oneOf.class)) { oneOf = convertOneOf(setter.getAnnotation(oneOf.class)); } inferencer = getPropertyChanger(); return this; }
private Class findLoadedMethod(QName qname) { if (cl == null) return null; String sn = getSimpleName(qname); for (Package pkg : cl.getPackages()) { if (pkg.isAnnotationPresent(rdf.class)) { String namespace = pkg.getAnnotation(rdf.class).value()[0]; if (qname.getNamespaceURI().equals(namespace)) { try { return Class.forName(pkg.getName() + '.' + sn); } catch (ClassNotFoundException e) { continue; } } } } return null; }
inverseOf ann = getter.getAnnotation(inverseOf.class); if (getter.isAnnotationPresent(rdf.class)) { String[] eq = getter.getAnnotation(rdf.class).value(); if (eq.length > 1) { // first one is main predicate equivalent = new URI[eq.length - 1];
if (desc.getReadMethod().isAnnotationPresent(rdf.class)) { rdf ann = desc.getReadMethod().getAnnotation(rdf.class); uri = vf.createURI(ann.value()[0]); } else if (domain.getNamespace().equals("java:")) { uri = vf.createURI(domain.stringValue() + "#", desc.getName()); Method getter = desc.getReadMethod(); if (getter.isAnnotationPresent(rdf.class)) { String[] eq = getter.getAnnotation(rdf.class).value(); for (int i = 1; i < eq.length; i++) { handleStatement(uri, RDFS.SUBPROPERTYOF, vf.createURI(eq[i]));
String[] eq = beanClass.getAnnotation(rdf.class).value(); for (int i = 1; i < eq.length; i++) { handleStatement(uri, OWL.EQUIVALENTCLASS, vf.createURI(eq[i]));