/** * Gets member. * * @param value the value * @return the member */ public CsdlEnumMember getMember(final Integer value) { CsdlEnumMember result = null; if (getMembers() != null) { for (CsdlEnumMember member : getMembers()) { if (String.valueOf(value).equals(member.getValue())) { result = member; } } } return result; }
@Override protected void lazyBuildEdmItem() throws ODataJPAModelException { if (edmEnumType == null) { annotation = getAnnotation(); edmEnumType = new CsdlEnumType(); edmEnumType.setFlags(determineIsFlag()); edmEnumType.setMembers(buildMembers()); edmEnumType.setName(getExternalName()); edmEnumType.setUnderlyingType(determineUnderlyingType()); } }
@Override public boolean isFlags() { return enumType.isFlags(); }
fqn.getNamespace()); if(edmxNamespace.equals(enumNamespace)){ if(!EdmxToCommonModelHelper.isEnumTypeAlreadyParsed(csdlEnum.getName(), comModel)){ enumType.setName(csdlEnum.getName()); String underlyingType = csdlEnum.getUnderlyingType() == null ? "Edm.Int32" : csdlEnum.getUnderlyingType(); enumType.setUnderlyingType(underlyingType); List<EnumMemberModel> members = new ArrayList<>(); for(CsdlEnumMember member : csdlEnum.getMembers()){ EnumMemberModel memberModel = new EnumMemberModel(); memberModel.setName(member.getName());
protected List<EdmEnumType> createEnumTypes() { final List<EdmEnumType> enumTyps = new ArrayList<EdmEnumType>(); final List<CsdlEnumType> providerEnumTypes = schema.getEnumTypes(); if (providerEnumTypes != null) { for (CsdlEnumType enumType : providerEnumTypes) { FullQualifiedName enumName = new FullQualifiedName(namespace, enumType.getName()); EdmEnumType enumTypeImpl = new EdmEnumTypeImpl(edm, enumName, enumType); enumTyps.add(enumTypeImpl); edm.cacheEnumType(enumName, enumTypeImpl); } } return enumTyps; }
public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName enumName, final CsdlEnumType enumType) { super(edm, enumName, EdmTypeKind.ENUM, enumType); if (enumType.getUnderlyingType() == null) { underlyingType = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int32); } else { final EdmPrimitiveTypeKind underlyingTypeKind = EdmPrimitiveTypeKind.valueOfFQN(enumType.getUnderlyingType()); if (underlyingTypeKind == EdmPrimitiveTypeKind.Byte || underlyingTypeKind == EdmPrimitiveTypeKind.SByte || underlyingTypeKind == EdmPrimitiveTypeKind.Int16 || underlyingTypeKind == EdmPrimitiveTypeKind.Int32 || underlyingTypeKind == EdmPrimitiveTypeKind.Int64) { underlyingType = EdmPrimitiveTypeFactory.getInstance(underlyingTypeKind); } else { throw new EdmException("Not allowed as underlying type: " + underlyingTypeKind); } } this.enumType = enumType; this.enumName = enumName; }
protected List<EdmEnumType> createEnumTypes() { final List<EdmEnumType> enumTyps = new ArrayList<EdmEnumType>(); final List<CsdlEnumType> providerEnumTypes = schema.getEnumTypes(); if (providerEnumTypes != null) { for (CsdlEnumType enumType : providerEnumTypes) { FullQualifiedName enumName = new FullQualifiedName(namespace, enumType.getName()); EdmEnumType enumTypeImpl = new EdmEnumTypeImpl(edm, enumName, enumType); enumTyps.add(enumTypeImpl); edm.cacheEnumType(enumName, enumTypeImpl); } } return enumTyps; }
public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName enumName, final CsdlEnumType enumType) { super(edm, enumName, EdmTypeKind.ENUM, enumType); if (enumType.getUnderlyingType() == null) { underlyingType = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int32); } else { final EdmPrimitiveTypeKind underlyingTypeKind = EdmPrimitiveTypeKind.valueOfFQN(enumType.getUnderlyingType()); if (underlyingTypeKind == EdmPrimitiveTypeKind.Byte || underlyingTypeKind == EdmPrimitiveTypeKind.SByte || underlyingTypeKind == EdmPrimitiveTypeKind.Int16 || underlyingTypeKind == EdmPrimitiveTypeKind.Int32 || underlyingTypeKind == EdmPrimitiveTypeKind.Int64) { underlyingType = EdmPrimitiveTypeFactory.getInstance(underlyingTypeKind); } else { throw new EdmException("Not allowed as underlying type: " + underlyingTypeKind); } } this.enumType = enumType; this.enumName = enumName; }
private void readEnumType(XMLEventReader reader, StartElement element, CsdlSchema schema) throws XMLStreamException { CsdlEnumType type = new CsdlEnumType(); type.setMembers(new ArrayList<CsdlEnumMember>()); type.setName(attr(element, "Name")); if (attr(element, "UnderlyingType") != null) { type.setUnderlyingType(new FullQualifiedName(attr(element, "UnderlyingType"))); } type.setFlags(Boolean.parseBoolean(attr(element, "IsFlags"))); readEnumMembers(reader, element, type); schema.getEnumTypes().add(type); }
/** * Gets member. * * @param name the name * @return the member */ public CsdlEnumMember getMember(final String name) { CsdlEnumMember result = null; if (getMembers() != null) { for (CsdlEnumMember member : getMembers()) { if (name.equals(member.getName())) { result = member; } } } return result; }
@Override public CsdlEnumType getEnumType(FullQualifiedName fqn) throws ODataException { CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null) { List<CsdlEnumType> types = schema.getEnumTypes(); if (types != null) { for (CsdlEnumType type : types) { if (type.getName().equals(fqn.getName())) { return type; } } } } return null; }
@Override public boolean isFlags() { return enumType.isFlags(); }
private void readEnumType(XMLEventReader reader, StartElement element, CsdlSchema schema) throws XMLStreamException { CsdlEnumType type = new CsdlEnumType(); type.setMembers(new ArrayList<CsdlEnumMember>()); type.setName(attr(element, "Name")); if (attr(element, "UnderlyingType") != null) { type.setUnderlyingType(new FullQualifiedName(attr(element, "UnderlyingType"))); } type.setFlags(Boolean.parseBoolean(attr(element, "IsFlags"))); readEnumMembers(reader, element, type); schema.getEnumTypes().add(type); }
/** * Gets member. * * @param name the name * @return the member */ public CsdlEnumMember getMember(final String name) { CsdlEnumMember result = null; if (getMembers() != null) { for (CsdlEnumMember member : getMembers()) { if (name.equals(member.getName())) { result = member; } } } return result; }
@Override public CsdlEnumType getEnumType(FullQualifiedName fqn) throws ODataException { CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null) { List<CsdlEnumType> types = schema.getEnumTypes(); if (types != null) { for (CsdlEnumType type : types) { if (type.getName().equals(fqn.getName())) { return type; } } } } return null; }
@Override public boolean isFlags() throws ODataJPAModelException { lazyBuildEdmItem(); return edmEnumType.isFlags(); }
/** * Gets member. * * @param value the value * @return the member */ public CsdlEnumMember getMember(final Integer value) { CsdlEnumMember result = null; if (getMembers() != null) { for (CsdlEnumMember member : getMembers()) { if (String.valueOf(value).equals(member.getValue())) { result = member; } } } return result; }
/** * Creates the map from member names to member objects, * preserving the order for the case of implicit value assignments. */ private void createEdmMembers() { final Map<String, EdmMember> membersMapLocal = new LinkedHashMap<String, EdmMember>(); final List<String> memberNamesLocal = new ArrayList<String>(); if (enumType.getMembers() != null) { for (final CsdlEnumMember member : enumType.getMembers()) { membersMapLocal.put(member.getName(), new EdmMemberImpl(edm, member)); memberNamesLocal.add(member.getName()); } membersMap = membersMapLocal; memberNames = memberNamesLocal; } }
/** * Creates the map from member names to member objects, * preserving the order for the case of implicit value assignments. */ private void createEdmMembers() { final Map<String, EdmMember> membersMapLocal = new LinkedHashMap<String, EdmMember>(); final List<String> memberNamesLocal = new ArrayList<String>(); if (enumType.getMembers() != null) { for (final CsdlEnumMember member : enumType.getMembers()) { membersMapLocal.put(member.getName(), new EdmMemberImpl(edm, member)); memberNamesLocal.add(member.getName()); } membersMap = membersMapLocal; memberNames = memberNamesLocal; } }
@Override void build(XMLEventReader reader, StartElement element, CsdlEnumType type, String name) throws XMLStreamException { if ("Member".equals(name)) { CsdlEnumMember member = new CsdlEnumMember(); member.setName(attr(element, "Name")); member.setValue(attr(element, "Value")); peekAnnotations(reader, name, member); type.getMembers().add(member); } else if ("Annotation".equals(name)) { readAnnotations(reader, element, type); } } }.read(reader, element, type, "Member", "Annotation");