From f4c9ca23f63f38d17c4adc7a771bf5ffcb4157ca Mon Sep 17 00:00:00 2001 From: Kirill Vasilenko Date: Tue, 5 Mar 2024 18:27:34 +0100 Subject: [PATCH 1/2] add type parameter names to SimplePropertyMetaDataImpl --- .../metadata/SimplePropertyMetaDataImpl.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java b/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java index db68195b1..5bbe79e66 100644 --- a/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java +++ b/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java @@ -17,18 +17,28 @@ import org.jetbrains.annotations.Nullable; +import java.util.Collections; +import java.util.List; + /** */ public class SimplePropertyMetaDataImpl extends PropertyMetaDataImpl { private String primitiveTypeName; + private List typeParameterNames; + public SimplePropertyMetaDataImpl() { } public SimplePropertyMetaDataImpl(final String name, final String primitiveTypeName) { + this(name, primitiveTypeName, Collections.emptyList()); + } + + public SimplePropertyMetaDataImpl(final String name, final String primitiveTypeName, final List typeParameterNames) { super(name, PropertyType.PRIMITIVE); this.primitiveTypeName = primitiveTypeName; + this.typeParameterNames = typeParameterNames; } @Nullable @@ -36,6 +46,12 @@ public String getPrimitiveTypeName() { return primitiveTypeName; } + /** + * If you have a property of type Set[String], String is the type parameter. + * So, getPrimitiveTypeName() returns "Set" and getTypeParameterNames() returns ["String"]. + * */ + public List getTypeParameterNames() { return typeParameterNames; } + public void setPrimitiveTypeName(String primitiveTypeName) { this.primitiveTypeName = primitiveTypeName; } From fa340a65365b12ffa39e294e71a6cd5cc7ce97e0 Mon Sep 17 00:00:00 2001 From: Kirill Vasilenko Date: Thu, 7 Mar 2024 11:18:22 +0100 Subject: [PATCH 2/2] add @Nullable attribute --- .../exodus/query/metadata/SimplePropertyMetaDataImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java b/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java index 5bbe79e66..70ce13eeb 100644 --- a/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java +++ b/query/src/main/java/jetbrains/exodus/query/metadata/SimplePropertyMetaDataImpl.java @@ -50,6 +50,7 @@ public String getPrimitiveTypeName() { * If you have a property of type Set[String], String is the type parameter. * So, getPrimitiveTypeName() returns "Set" and getTypeParameterNames() returns ["String"]. * */ + @Nullable public List getTypeParameterNames() { return typeParameterNames; } public void setPrimitiveTypeName(String primitiveTypeName) {