Skip to content

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
safris committed Jun 25, 2023
1 parent a9d6806 commit 2953670
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 19 deletions.
2 changes: 1 addition & 1 deletion binding/src/main/java/org/jsonx/Range.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<? extends Number> 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<? extends Number>)type;
Expand Down
10 changes: 6 additions & 4 deletions generator/src/main/java/org/jsonx/AnyModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -251,10 +251,11 @@ private void addReference(final ArrayList<Member> 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<Class<?>> members = new ArrayList<>(types.length);
final ArrayList<Class<?>> members = new ArrayList<>(len);
for (final t type : types) { // [A]
if (AnyType.isEnabled(type.arrays()))
members.add(List.class);
Expand All @@ -272,10 +273,11 @@ else if (AnyType.isEnabled(type.strings()))
}

private ArrayList<Member> getMemberTypes(final t[] types) {
if (types.length == 0)
final int len = types.length;
if (len == 0)
return null;

final ArrayList<Member> members = new ArrayList<>(types.length);
final ArrayList<Member> members = new ArrayList<>(len);
for (final t type : types) { // [A]
Member member = null;
if (AnyType.isEnabled(type.arrays()))
Expand Down
3 changes: 1 addition & 2 deletions generator/src/main/java/org/jsonx/ArrayModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -651,8 +651,7 @@ List<AnnotationType> toElementAnnotations() {
return null;

final ArrayList<AnnotationType> 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;
Expand Down
5 changes: 3 additions & 2 deletions generator/src/main/java/org/jsonx/Binding.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
}
Expand All @@ -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())
Expand Down
2 changes: 1 addition & 1 deletion generator/src/main/java/org/jsonx/Model.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion generator/src/main/java/org/jsonx/NumberModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<? extends Number>)cls))
if (cls != null && defaultClass().isAssignableFrom(cls) && Numbers.isWholeNumberType((Class<? extends Number>)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;
Expand Down
18 changes: 10 additions & 8 deletions generator/src/main/java/org/jsonx/SchemaElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -401,11 +401,12 @@ public SchemaElement(final Collection<Class<?>> 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<Model> 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();
}
Expand Down Expand Up @@ -466,8 +467,8 @@ public XmlElement toXml() {
@Override
Map<String,Object> toJson(final Element owner, final String packageName) {
final List<Model> members = rootMembers();
final int i$ = members.size();
if (i$ == 0)
final int size = members.size();
if (size == 0)
return null;

final Map<String,Object> properties = new LinkedHashMap<>(toXmlAttributes(owner, packageName));
Expand All @@ -477,10 +478,11 @@ Map<String,Object> 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));
}

Expand Down

0 comments on commit 2953670

Please sign in to comment.