From 2953670bffb1dbd0038f25233ecc5bfaae2de61f Mon Sep 17 00:00:00 2001 From: Seva Safris Date: Sun, 25 Jun 2023 16:12:21 -0700 Subject: [PATCH] Cleanup --- binding/src/main/java/org/jsonx/Range.java | 2 +- .../src/main/java/org/jsonx/AnyModel.java | 10 ++++++---- .../src/main/java/org/jsonx/ArrayModel.java | 3 +-- generator/src/main/java/org/jsonx/Binding.java | 5 +++-- generator/src/main/java/org/jsonx/Model.java | 2 +- .../src/main/java/org/jsonx/NumberModel.java | 2 +- .../src/main/java/org/jsonx/SchemaElement.java | 18 ++++++++++-------- 7 files changed, 23 insertions(+), 19 deletions(-) diff --git a/binding/src/main/java/org/jsonx/Range.java b/binding/src/main/java/org/jsonx/Range.java index 174b22cf..c9c2b5e4 100644 --- a/binding/src/main/java/org/jsonx/Range.java +++ b/binding/src/main/java/org/jsonx/Range.java @@ -34,7 +34,7 @@ public class Range implements Serializable { public static Range from(final String string, final int scale, Class type) throws ParseException { assertNotNegative(scale, () -> "scale (" + scale + ") must be positive"); final Class numberType; - if (type == null || type == Number.class || !Number.class.isAssignableFrom(type = Classes.toWrapper(type))) + if (type == null || type == Number.class || !Number.class.isAssignableFrom(type = Classes.box(type))) numberType = NumberCodec.getDefaultClass(scale); else numberType = (Class)type; diff --git a/generator/src/main/java/org/jsonx/AnyModel.java b/generator/src/main/java/org/jsonx/AnyModel.java index 51776931..fe47a59d 100644 --- a/generator/src/main/java/org/jsonx/AnyModel.java +++ b/generator/src/main/java/org/jsonx/AnyModel.java @@ -251,10 +251,11 @@ private void addReference(final ArrayList types, final String idref, fin } private static Class getFieldType(final t[] types) { - if (types.length == 0) + final int len = types.length; + if (len == 0) return null; - final ArrayList> members = new ArrayList<>(types.length); + final ArrayList> members = new ArrayList<>(len); for (final t type : types) { // [A] if (AnyType.isEnabled(type.arrays())) members.add(List.class); @@ -272,10 +273,11 @@ else if (AnyType.isEnabled(type.strings())) } private ArrayList getMemberTypes(final t[] types) { - if (types.length == 0) + final int len = types.length; + if (len == 0) return null; - final ArrayList members = new ArrayList<>(types.length); + final ArrayList members = new ArrayList<>(len); for (final t type : types) { // [A] Member member = null; if (AnyType.isEnabled(type.arrays())) diff --git a/generator/src/main/java/org/jsonx/ArrayModel.java b/generator/src/main/java/org/jsonx/ArrayModel.java index 4cc61296..dc2422d9 100644 --- a/generator/src/main/java/org/jsonx/ArrayModel.java +++ b/generator/src/main/java/org/jsonx/ArrayModel.java @@ -651,8 +651,7 @@ List toElementAnnotations() { return null; final ArrayList annotations = new ArrayList<>(); - int index = 0; - for (int i = 0, i$ = members.size(); i < i$; ++i) // [RA] + for (int i = 0, i$ = members.size(), index = 0; i < i$; ++i) // [RA] index += writeElementAnnotations(annotations, members.get(i), index, this); return annotations; diff --git a/generator/src/main/java/org/jsonx/Binding.java b/generator/src/main/java/org/jsonx/Binding.java index 46b9ee3d..5940f16f 100644 --- a/generator/src/main/java/org/jsonx/Binding.java +++ b/generator/src/main/java/org/jsonx/Binding.java @@ -16,6 +16,7 @@ package org.jsonx; +import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.util.Map; import java.util.Objects; @@ -37,7 +38,7 @@ static Type from2(final Type typeBinding, final $TypeBinding.Decode$ decode, fin return (typeBinding == null || typeBinding.type == null) && decode == null && encode == null ? null : new Type(typeBinding, decode, encode); } - static Type from(final Registry registry, final java.lang.reflect.Method getMethod, final boolean nullable, final Use use, final String decode, final String encode, final Class defaultClass) { + static Type from(final Registry registry, final Method getMethod, final boolean nullable, final Use use, final String decode, final String encode, final Class defaultClass) { final String typeName = Model.isAssignable(getMethod, false, defaultClass, false, nullable, use) ? null : getClassName(getMethod, nullable, use); return typeName == null && (encode == null || encode.length() == 0) && (decode == null || decode.length() == 0) ? null : new Type(registry, typeName, decode, encode); } @@ -47,7 +48,7 @@ static Type from(final Registry registry, final Class type, final String deco return typeName == null && (encode == null || encode.length() == 0) && (decode == null || decode.length() == 0) ? null : new Type(registry, typeName, decode, encode); } - static String getClassName(final java.lang.reflect.Method getMethod, final boolean nullable, final Use use) { + static String getClassName(final Method getMethod, final boolean nullable, final Use use) { final boolean expectOptional = nullable && use == Use.OPTIONAL; final Class returnType = getMethod.getReturnType(); if (returnType.isArray()) diff --git a/generator/src/main/java/org/jsonx/Model.java b/generator/src/main/java/org/jsonx/Model.java index 16d8e054..059288f8 100644 --- a/generator/src/main/java/org/jsonx/Model.java +++ b/generator/src/main/java/org/jsonx/Model.java @@ -49,7 +49,7 @@ static Class toClass(final Type type) { } static boolean isAssignable(final Method getMethod, final boolean canWrap, final Class cls, final boolean isRegex, final boolean nullable, final Use use) { - final Class type = canWrap && getMethod.getReturnType().isPrimitive() ? Classes.toWrapper(getMethod.getReturnType()) : getMethod.getReturnType(); + final Class type = canWrap && getMethod.getReturnType().isPrimitive() ? Classes.box(getMethod.getReturnType()) : getMethod.getReturnType(); if (isRegex) { if (!Map.class.isAssignableFrom(type)) return false; diff --git a/generator/src/main/java/org/jsonx/NumberModel.java b/generator/src/main/java/org/jsonx/NumberModel.java index d13681a7..2da80666 100644 --- a/generator/src/main/java/org/jsonx/NumberModel.java +++ b/generator/src/main/java/org/jsonx/NumberModel.java @@ -377,7 +377,7 @@ String isValid(final Binding.Type typeBinding) { return null; final Class cls = Classes.forNameOrNull(typeBinding.type.getNativeName(), false, getClass().getClassLoader()); - if (cls != null && defaultClass().isAssignableFrom(cls) && Numbers.isWholeType((Class)cls)) + if (cls != null && defaultClass().isAssignableFrom(cls) && Numbers.isWholeNumberType((Class)cls)) return "The decimal \"number\" with scale=" + scale + " in \"" + (name() != null ? name() : id()) + "\" cannot be represented with the whole numeric type: " + typeBinding.type.getName(); return null; diff --git a/generator/src/main/java/org/jsonx/SchemaElement.java b/generator/src/main/java/org/jsonx/SchemaElement.java index 1fcbd1f3..b1bba93d 100644 --- a/generator/src/main/java/org/jsonx/SchemaElement.java +++ b/generator/src/main/java/org/jsonx/SchemaElement.java @@ -401,11 +401,12 @@ public SchemaElement(final Collection> classes) { this.version = name.namespaceURI().substring(0, name.namespaceURI().lastIndexOf('.')); this.registry.resolveReferences(); - final int len = registry.getModels().size(); - final Model[] models = registry.getModels().toArray(new Model[len]); + final Collection models = registry.getModels(); + final int len = models.size(); + final Model[] array = models.toArray(new Model[len]); for (int i = 0; i < len; ++i) // [A] - if (models[i] instanceof Referrer) - ((Referrer)models[i]).resolveOverrides(); + if (array[i] instanceof Referrer) + ((Referrer)array[i]).resolveOverrides(); this.registry.resolveReferences(); } @@ -466,8 +467,8 @@ public XmlElement toXml() { @Override Map toJson(final Element owner, final String packageName) { final List members = rootMembers(); - final int i$ = members.size(); - if (i$ == 0) + final int size = members.size(); + if (size == 0) return null; final Map properties = new LinkedHashMap<>(toXmlAttributes(owner, packageName)); @@ -477,10 +478,11 @@ Map toJson(final Element owner, final String packageName) { if (targetNamespace != null) properties.put("jx:targetNamespace", targetNamespace.endsWith(".jsdx") ? targetNamespace.substring(0, targetNamespace.length() - 1) : targetNamespace); - for (int i = 0; i < i$; ++i) { // [RA] + final int len = packageName.length(); + for (int i = 0; i < size; ++i) { // [RA] final Model member = members.get(i); final String id = member.id().toString(); - final String name = packageName.length() > 0 && id.startsWith(packageName) ? id.substring(packageName.length() + 1) : id; + final String name = len > 0 && id.startsWith(packageName) ? id.substring(len + 1) : id; properties.put(name, member.toJson(this, packageName)); }