public JPAEnumerationAttribute getEnumerationType(EdmEnumType type) { for (final Entry<String, IntermediateEnumerationType> enumeration : this.enumTypeListInternalKey.entrySet()) { if (enumeration.getValue().getExternalFQN().equals(type.getFullQualifiedName())) return enumeration.getValue(); } return null; }
private void appendEnumTypes(final XMLStreamWriter writer, final List<EdmEnumType> enumTypes) throws XMLStreamException { for (EdmEnumType enumType : enumTypes) { writer.writeStartElement(XML_ENUM_TYPE); writer.writeAttribute(XML_NAME, enumType.getName()); writer.writeAttribute(XML_IS_FLAGS, Boolean.toString(enumType.isFlags())); writer.writeAttribute(XML_UNDERLYING_TYPE, getFullQualifiedName(enumType.getUnderlyingType(), false)); for (String memberName : enumType.getMemberNames()) { writer.writeStartElement(XML_MEMBER); writer.writeAttribute(XML_NAME, memberName); EdmMember member = enumType.getMember(memberName); if (member.getValue() != null) { writer.writeAttribute(XML_VALUE, member.getValue()); } appendAnnotations(writer, member); writer.writeEndElement(); } writer.writeEndElement(); } }
private Enumeration createEnumExpression(final String primitiveValueLiteral) throws UriParserException { final EdmEnumType enumType = getEnumType(primitiveValueLiteral); // The Enumeration interface could be extended to handle the value as a whole, in line with the primitive type. try { return new EnumerationImpl(enumType, Arrays.asList(enumType.fromUriLiteral(primitiveValueLiteral).split(","))); } catch (final EdmPrimitiveTypeException e) { // This part should not be reached, so a general error message key can be re-used. throw new UriParserSemanticException("Wrong enumeration value '" + primitiveValueLiteral + "'.", e, UriParserSemanticException.MessageKeys.UNKNOWN_PART, primitiveValueLiteral); } }
/** * Returns the primitive type's default class or the manually mapped class * if present. * * @param mapping * @param edmPrimitiveType * @return the java class to be used during deserialization */ private Class<?> getJavaClassForPrimitiveType(final EdmMapping mapping, final EdmPrimitiveType type) { final EdmPrimitiveType edmPrimitiveType = type.getKind() == EdmTypeKind.ENUM ? ((EdmEnumType) type).getUnderlyingType() : type.getKind() == EdmTypeKind.DEFINITION ? ((EdmTypeDefinition) type).getUnderlyingType() : type; return mapping == null || mapping.getMappedJavaClass() == null ? edmPrimitiveType.getDefaultType() : mapping.getMappedJavaClass(); }
@Override public URIBuilder appendKeySegment(final Map<String, Pair<EdmEnumType, String>> enumValues, final Map<String, Object> segmentValues) { final Map<String, Object> values = new LinkedHashMap<String, Object>(); for (Map.Entry<String, Pair<EdmEnumType, String>> entry : enumValues.entrySet()) { values.put(entry.getKey(), entry.getValue().getKey().toUriLiteral(entry.getValue().getValue())); } values.putAll(segmentValues); return appendKeySegment(values); }
/** * Returns the primitive type's default class or the manually mapped class if present. * @param mapping * @param edmPrimitiveType * @return the java class to be used during deserialization */ private Class<?> getJavaClassForPrimitiveType(final EdmMapping mapping, final EdmPrimitiveType type) { final EdmPrimitiveType edmPrimitiveType = type.getKind() == EdmTypeKind.ENUM ? ((EdmEnumType) type).getUnderlyingType() : type .getKind() == EdmTypeKind.DEFINITION ? ((EdmTypeDefinition) type).getUnderlyingType() : type; return mapping == null || mapping.getMappedJavaClass() == null ? edmPrimitiveType.getDefaultType() : mapping .getMappedJavaClass(); }
@Override public URIBuilder appendKeySegment(final Map<String, Pair<EdmEnumType, String>> enumValues, final Map<String, Object> segmentValues) { final Map<String, Object> values = new LinkedHashMap<String, Object>(); for (Map.Entry<String, Pair<EdmEnumType, String>> entry : enumValues.entrySet()) { values.put(entry.getKey(), entry.getValue().getKey().toUriLiteral(entry.getValue().getValue())); } values.putAll(segmentValues); return appendKeySegment(values); }
private void appendEnumTypes(final XMLStreamWriter writer, final List<EdmEnumType> enumTypes) throws XMLStreamException { for (EdmEnumType enumType : enumTypes) { writer.writeStartElement(XML_ENUM_TYPE); writer.writeAttribute(XML_NAME, enumType.getName()); writer.writeAttribute(XML_IS_FLAGS, Boolean.toString(enumType.isFlags())); writer.writeAttribute(XML_UNDERLYING_TYPE, getFullQualifiedName(enumType.getUnderlyingType(), false)); for (String memberName : enumType.getMemberNames()) { writer.writeStartElement(XML_MEMBER); writer.writeAttribute(XML_NAME, memberName); EdmMember member = enumType.getMember(memberName); if (member.getValue() != null) { writer.writeAttribute(XML_VALUE, member.getValue()); } appendAnnotations(writer, member); writer.writeEndElement(); } writer.writeEndElement(); } }
@Override public JPAEnumerationAttribute getEnumType(EdmEnumType type) { final IntermediateSchema schema = schemaListInternalKey.get(type.getFullQualifiedName().getNamespace()); if (schema != null) return schema.getEnumerationType(type); return null; }
/** * Returns the primitive type's default class or the manually mapped class if present. * @param mapping * @param edmPrimitiveType * @return the java class to be used during deserialization */ private Class<?> getJavaClassForPrimitiveType(final EdmMapping mapping, final EdmPrimitiveType type) { final EdmPrimitiveType edmPrimitiveType = type.getKind() == EdmTypeKind.ENUM ? ((EdmEnumType) type).getUnderlyingType() : type .getKind() == EdmTypeKind.DEFINITION ? ((EdmTypeDefinition) type).getUnderlyingType() : type; return mapping == null || mapping.getMappedJavaClass() == null ? edmPrimitiveType.getDefaultType() : mapping .getMappedJavaClass(); }
@Override public URIBuilder appendKeySegment(final EdmEnumType enumType, final String memberName) { return appendKeySegment(enumType.toUriLiteral(memberName)); }
private Enumeration createEnumExpression(final String primitiveValueLiteral) throws UriParserException { final EdmEnumType enumType = getEnumType(primitiveValueLiteral); // The Enumeration interface could be extended to handle the value as a whole, in line with the primitive type. try { return new EnumerationImpl(enumType, Arrays.asList(enumType.fromUriLiteral(primitiveValueLiteral).split(","))); } catch (final EdmPrimitiveTypeException e) { // This part should not be reached, so a general error message key can be re-used. throw new UriParserSemanticException("Wrong enumeration value '" + primitiveValueLiteral + "'.", e, UriParserSemanticException.MessageKeys.UNKNOWN_PART, primitiveValueLiteral); } }
private void appendEnumTypes(JsonGenerator json, List<EdmEnumType> enumTypes) throws SerializerException, IOException { for (EdmEnumType enumType : enumTypes) { json.writeObjectFieldStart(enumType.getName()); json.writeStringField(KIND, Kind.EnumType.name()); json.writeBooleanField(IS_FLAGS, enumType.isFlags()); json.writeStringField(UNDERLYING_TYPE, getFullQualifiedName(enumType.getUnderlyingType())); for (String memberName : enumType.getMemberNames()) { EdmMember member = enumType.getMember(memberName); if (member.getValue() != null) { json.writeStringField(memberName, member.getValue()); } appendAnnotations(json, member, memberName); } json.writeEndObject(); } }
@Override public String toString() { return type == null ? "NULL" : type.getFullQualifiedName().getFullQualifiedNameAsString() + getValues(); } }
@Override public URIBuilder appendKeySegment(final EdmEnumType enumType, final String memberName) { return appendKeySegment(enumType.toUriLiteral(memberName)); }
private void appendEnumTypes(JsonGenerator json, List<EdmEnumType> enumTypes) throws SerializerException, IOException { for (EdmEnumType enumType : enumTypes) { json.writeObjectFieldStart(enumType.getName()); json.writeStringField(KIND, Kind.EnumType.name()); json.writeBooleanField(IS_FLAGS, enumType.isFlags()); json.writeStringField(UNDERLYING_TYPE, getFullQualifiedName(enumType.getUnderlyingType())); for (String memberName : enumType.getMemberNames()) { EdmMember member = enumType.getMember(memberName); if (member.getValue() != null) { json.writeStringField(memberName, member.getValue()); } appendAnnotations(json, member, memberName); } json.writeEndObject(); } }
@Override public boolean equals(final Object obj) { return obj != null && (obj == this || obj instanceof EdmEnumType && getFullQualifiedName().equals(((EdmEnumType) obj).getFullQualifiedName())); } }
@Override public URIFilter has(final FilterArg left, final EdmEnumType enumType, final String memberName) { return new HasFilter(left, new FilterProperty(enumType.toUriLiteral(memberName))); }
@Override public String toString() { return type == null ? "NULL" : type.getFullQualifiedName().getFullQualifiedNameAsString() + getValues(); } }
@Override public URIFilter has(final FilterArg left, final EdmEnumType enumType, final String memberName) { return new HasFilter(left, new FilterProperty(enumType.toUriLiteral(memberName))); }