/** * @author sasa * */ @ClassMapping(ns = OWL.NS, ln = "Class") public class ReferenceClass extends OWLClass { public ReferenceClass(ID id) { super(id); } }
@Nullable private UID getUID(Class<?> clazz) { ClassMapping cmap = clazz.getAnnotation(ClassMapping.class); if (cmap != null) { String ns = cmap.ns(); if (Strings.isNullOrEmpty(ns)) { ns = defaultNamespace; } String ln = cmap.ln(); if (Strings.isNullOrEmpty(ln)) { ln = clazz.getSimpleName(); } if (ns != null) { return new UID(ns, ln); } else { throw new IllegalArgumentException("Namespace needs to be declared in ClassMapping or configuration."); } } else { // NOTE : might be used for autowire etc, doesn't need ClassMapping // for such cases return null; } }
public final void addClasses(Class<?>... classes) { for (Class<?> clazz : classes) { if (clazz.getAnnotation(ClassMapping.class) != null) { MappedClass mappedClass = mappedClassFactory.getMappedClass(clazz); if (mappedClass.getUID() != null) { ClassMapping classMapping = clazz.getAnnotation(ClassMapping.class); if (clazz.isEnum() && !classMapping.parent().equals(Object.class)) { MappedClass parentClass = mappedClassFactory.getMappedClass(classMapping .parent()); for (Object constant : clazz.getEnumConstants()) { UID instance = new UID(mappedClass.getClassNs(), ((Enum) constant).name()); addClass(instance, parentClass); } } addClass(mappedClass.getUID(), mappedClass); } for (MappedClass superClass : mappedClass.getMappedSuperClasses()) { polymorphicClasses.add(superClass.getJavaClass()); } mappedClasses.add(mappedClass); } else { throw new IllegalArgumentException("No @ClassMapping annotation for " + clazz.getName()); } } }
/** * @author sasa * */ @ClassMapping(ns = OWL.NS) public class DatatypeProperty extends RDFProperty { public DatatypeProperty() { } public DatatypeProperty(UID id) { super(id); } }
/** * @author sasa * */ @ClassMapping(ns=RDFS.NS, ln="Datatype") public class RDFSDatatype extends RDFSClass<Object> { public RDFSDatatype() { super(); } public RDFSDatatype(UID id) { super(id); } }
/** * @author sasa * */ @ClassMapping(ns = RDFS.NS, ln = "Datatype") public class RDFSDatatype extends RDFSClass<Object> { public RDFSDatatype() { super(); } public RDFSDatatype(UID id) { super(id); } }
/** * @author sasa * */ @ClassMapping(ns = OWL.NS) public class Thing extends RDFSResource { public Thing() { super(); } public Thing(ID id) { super(id); } }
@ClassMapping public static final class ParentType { public ParentType( @InjectService @Default(ns = TEST.NS, ln = "parentService") ParentServiceType service) { assertNotNull(service); } }
@ClassMapping public static class SecondChild<C extends SecondChild<C>> extends Parent<C, String, C> { @Required public String getProperty() { return property; } }
@ClassMapping public static interface Party { @Predicate String getDisplayName(); }
@ClassMapping public class Entity { }
@ClassMapping public static class NestedChild extends SecondChild<NestedChild> { }
@ClassMapping public static class FirstChild extends Parent<FirstChild, Integer, FirstChild> { }
@ClassMapping static class EntityWithoutId { }
@ClassMapping public class Entity3 extends Entity2 { }
@ClassMapping public class Entity1 { }
@ClassMapping public class Entity2 extends Entity1 { }
@ClassMapping public static final class ParentServiceType { }
@ClassMapping public interface Element { }
@ClassMapping public static class Entity2 extends Entity1 { }