- ArrayList<IBidirectionalMappingRule<StructuralResource, IStructuralObject>> rules = new ArrayList<IBidirectionalMappingRule<StructuralResource, IStructuralObject>>();\r
- collectRulesFromAnnotations(g, clazz, rules);\r
- \r
- return new SimpleLinkType(\r
- g.getResource(graphType.value()), \r
- clazz, rules); \r
+ if (graphType != null) {\r
+ ArrayList<IBidirectionalMappingRule<StructuralResource, IStructuralObject>> rules = new ArrayList<IBidirectionalMappingRule<StructuralResource, IStructuralObject>>();\r
+ collectRulesFromAnnotations(g, clazz, rules);\r
+ \r
+ return new SimpleLinkType(g.getResource(graphType.value()), clazz, rules); \r
+ }\r
+ OrderedSetType orderedSetType = clazz.getAnnotation(OrderedSetType.class);\r
+ if (orderedSetType != null) {\r
+ ArrayList<IBidirectionalMappingRule<StructuralResource, IStructuralObject>> rules = new ArrayList<IBidirectionalMappingRule<StructuralResource, IStructuralObject>>();\r
+ collectRulesFromAnnotations(g, clazz, rules);\r
+ \r
+ return new OrderedSetSimpleLinkType(g.getResource(orderedSetType.value()), clazz, rules);\r
+ }\r
+ throw new IllegalArgumentException("Class " + clazz.toString() + " does not contain annotations.");\r