public EdmMemberImpl(final Edm edm, final CsdlEnumMember member) { super(edm, member.getName(), member); this.member = member; }
@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");
@Override public String getValue() { return member.getValue(); } }
@Override protected CsdlEnumMember doDeserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { final CsdlEnumMember member = new CsdlEnumMember(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Name".equals(jp.getCurrentName())) { member.setName(jp.nextTextValue()); } else if ("Value".equals(jp.getCurrentName())) { member.setValue(jp.nextTextValue()); } else if ("Annotation".equals(jp.getCurrentName())) { jp.nextToken(); member.getAnnotations().add(jp.readValueAs(ClientCsdlAnnotation.class)); } } } return member; } }
@Override protected CsdlEnumMember doDeserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { final CsdlEnumMember member = new CsdlEnumMember(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Name".equals(jp.getCurrentName())) { member.setName(jp.nextTextValue()); } else if ("Value".equals(jp.getCurrentName())) { member.setValue(jp.nextTextValue()); } else if ("Annotation".equals(jp.getCurrentName())) { jp.nextToken(); member.getAnnotations().add(jp.readValueAs(ClientCsdlAnnotation.class)); } } } return member; } }
@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");
public EdmMemberImpl(final Edm edm, final CsdlEnumMember member) { super(edm, member.getName(), member); this.member = member; }
@Override public String getValue() { return member.getValue(); } }
private List<CsdlEnumMember> buildMembers() throws ODataJPAModelException { final List<CsdlEnumMember> members = new ArrayList<>(); javaMembers = Arrays.asList(javaEnum.getEnumConstants()); for (final Object constants : javaMembers) { if (constants instanceof Enum) { final Enum<?> e = (Enum<?>) constants; CsdlEnumMember member = new CsdlEnumMember(); member.setName(e.name()); Number value = valueOf(e.toString()); if (determineIsFlag() && value.longValue() < 0L) // An Enumeration that is marked as Flag must not have a negative value: '%1$s - %2$s'. throw new ODataJPAModelException(MessageKeys.ENUMERATION_NO_NEGATIVE_VALUE, e.name(), javaEnum .getName()); member.setValue(String.valueOf(value)); members.add(member); } } return members; }
@Override public CsdlEnumMember getMember(String name) { for (CsdlEnumMember m : members) { if (m.getName().equals(name)) return super.getMember(name); } return null; }
/** * 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; } }
/** * 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; } }
/** * 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; }
/** * 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; }