/** * The Complex Type Sample model. */ @EdmComplex(namespace = "ODataDemo") public class ComplexTypeSample extends AbstractComplexTypeSample { @EdmProperty(name = "SimpleProperty", nullable = true) private String simpleProperty; public String getSimpleProperty() { return simpleProperty; } public ComplexTypeSample setSimpleProperty(String property) { this.simpleProperty = property; return this; } }
private static String getTypeName(EdmComplex complexAnno, Class<?> complexClass) { String name = complexAnno.name(); if (isNullOrEmpty(name)) { // Use class name if name is not specified in EdmComplex annotation name = complexClass.getSimpleName(); } return name; }
private static String getNamespace(EdmComplex complexAnno, Class<?> complexClass) { String namespace = complexAnno.namespace(); if (isNullOrEmpty(namespace)) { // Use package name if namespace is not specified in EdmComplex annotation namespace = complexClass.getPackage().getName(); } return namespace; }
@Override public ComplexType build(Class<?> cls) { EdmComplex complexAnno = cls.getAnnotation(EdmComplex.class); // Base type String baseTypeName = null; Class<?> superClass = cls.getSuperclass(); EdmComplex superComplexAnno = superClass.getAnnotation(EdmComplex.class); if (superComplexAnno != null) { baseTypeName = getFullyQualifiedTypeName(superComplexAnno, superClass); } return new ComplexTypeImpl.Builder() .setName(getTypeName(complexAnno, cls)) .setNamespace(getNamespace(complexAnno, cls)) .setJavaType(cls) .setBaseTypeName(baseTypeName) .setIsAbstract(Modifier.isAbstract(cls.getModifiers())) .addStructuralProperties(buildStructuralProperties(cls)) .setIsOpen(complexAnno.open()) .build(); }
@Override public ComplexType build(Class<?> cls) { EdmComplex complexAnno = cls.getAnnotation(EdmComplex.class); // Base type String baseTypeName = null; Class<?> superClass = cls.getSuperclass(); EdmComplex superComplexAnno = superClass.getAnnotation(EdmComplex.class); if (superComplexAnno != null) { baseTypeName = getFullyQualifiedTypeName(superComplexAnno, superClass); } return new ComplexTypeImpl.Builder() .setName(getTypeName(complexAnno, cls)) .setNamespace(getNamespace(complexAnno, cls)) .setJavaType(cls) .setBaseTypeName(baseTypeName) .setIsAbstract(Modifier.isAbstract(cls.getModifiers())) .addStructuralProperties(buildStructuralProperties(cls)) .setIsOpen(complexAnno.open()) .build(); }
/** * The Abstract Complex Type Sample. */ @EdmComplex(namespace = "ODataDemo") public abstract class AbstractComplexTypeSample { @EdmProperty(name = "InheritedProperty", nullable = true) private String inheritedProperty; public String getInheritedProperty() { return inheritedProperty; } public AbstractComplexTypeSample setInheritedProperty(String newInheritedProperty) { this.inheritedProperty = newInheritedProperty; return this; } }
private static String getTypeName(EdmComplex complexAnno, Class<?> complexClass) { String name = complexAnno.name(); if (isNullOrEmpty(name)) { // Use class name if name is not specified in EdmComplex annotation name = complexClass.getSimpleName(); } return name; }
private static String getNamespace(EdmComplex complexAnno, Class<?> complexClass) { String namespace = complexAnno.namespace(); if (isNullOrEmpty(namespace)) { // Use package name if namespace is not specified in EdmComplex annotation namespace = complexClass.getPackage().getName(); } return namespace; }
/** * The Complex Type Sample List model. */ @EdmComplex(namespace = "ODataDemo") public class ComplexTypeSampleList { @EdmProperty(name = "ListProperty", nullable = true) private List<String> listProperty; public List<String> getListProperty() { return listProperty; } public ComplexTypeSampleList setListProperty(List<String> property) { this.listProperty = property; return this; } }
/** * The Complex Type Sample List model. */ @EdmComplex(namespace = "ODataDemo") public class ComplexTypeSampleList { @EdmProperty(name = "ListProperty", nullable = true) private List<String> listProperty; public List<String> getListProperty() { return listProperty; } public ComplexTypeSampleList setListProperty(List<String> property) { this.listProperty = property; return this; } }
/** * The Complex Type Sample model. */ @EdmComplex(namespace = "ODataDemo") public class ComplexTypeSample extends AbstractComplexTypeSample { @EdmProperty(name = "SimpleProperty", nullable = true) private String simpleProperty; public String getSimpleProperty() { return simpleProperty; } public ComplexTypeSample setSimpleProperty(String property) { this.simpleProperty = property; return this; } }
/** * The Abstract Complex Type Sample. */ @EdmComplex(namespace = "ODataDemo") public abstract class AbstractComplexTypeSample { @EdmProperty(name = "InheritedProperty", nullable = true) private String inheritedProperty; public String getInheritedProperty() { return inheritedProperty; } public AbstractComplexTypeSample setInheritedProperty(String newInheritedProperty) { this.inheritedProperty = newInheritedProperty; return this; } }
@EdmComplex(namespace = "ODataSample") public class IdNamePairComplex {
@EdmComplex(namespace = "ODataSample") public class IdNamePairComplex {
@EdmComplex(namespace = "ODataDemo") public class ODataDemoClassification {
@EdmComplex(namespace = "ODataDemo") public class ODataDemoClassification {
@EdmComplex(namespace = "ODataDemo") public class ODataVersionPart {
@EdmComplex(namespace = "ODataDemo") public class ODataVersionPart {
@EdmComplex(namespace = "ODataDemo") public class ODataDemoProperty {
@EdmComplex(namespace = "ODataDemo") public class ODataDemoProperty {