if (!hint.name().isEmpty()) {
mName = hint.name();
} else if (getPropertyCaseStyle() != null) {
mName = getPropertyCaseStyle().to(mName);
}
props.add(new PropertyInfo(prop.getBeanClass(), mName,
null, prop.getReadMethod(), prop.getWriteMethod(), prop.isStatic(), hint.ordinal()));
}
} else if (getPropertyCaseStyle() != null) {
mName = getPropertyCaseStyle().to(prop.getName());
props.add(new PropertyInfo(prop.getBeanClass(), mName,
prop.getField(), prop.getReadMethod(), prop.getWriteMethod(), prop.isStatic(), prop.getOrdinal()));
} else {
mName = prop.getName();
props.add(prop);
}
}
if (prop.getField() != null && !ignore(this, c, prop.getField())) {
JSONHint hint = prop.getField().getAnnotation(JSONHint.class);
if (hint != null) {
String name = prop.getName();
if (!hint.name().isEmpty()) {
name = hint.name();
} else if (getPropertyCaseStyle() != null) {
name = getPropertyCaseStyle().to(name);
}
if (!name.equals(mName) && !hint.ignore()) {
props.add(new PropertyInfo(prop.getBeanClass(), name,
prop.getField(), null, null, prop.isStatic(), hint.ordinal()));
}
} else if (mName != null) {
String name = prop.getName();
if (getPropertyCaseStyle() != null) {
name = getPropertyCaseStyle().to(name);
}
if (!name.equals(mName)) {
props.add(new PropertyInfo(prop.getBeanClass(), name,
prop.getField(), null, null, prop.isStatic(), prop.getOrdinal()));
}
} else if (getPropertyCaseStyle() != null) {
props.add(new PropertyInfo(prop.getBeanClass(), getPropertyCaseStyle().to(prop.getName()),
prop.getField(), prop.getReadMethod(), prop.getWriteMethod(), prop.isStatic(), prop.getOrdinal()));
} else {
props.add(prop);
}
}