class ObjectReaderImplCurrency
        extends ObjectReaderPrimitive {
    static final ObjectReaderImplCurrency INSTANCE = new ObjectReaderImplCurrency();

    static final long TYPE_HASH = Fnv.hashCode64("Currency");

    ObjectReaderImplCurrency() {
        super(Currency.class);
    }

    @Override
    public Object readJSONBObject(JSONReader jsonReader, Type fieldType, Object fieldName, long features) {<FILL_FUNCTION_BODY>}

    @Override
    public Object readObject(JSONReader jsonReader, Type fieldType, Object fieldName, long features) {
        String strVal;
        if (jsonReader.isObject()) {
            JSONObject jsonObject = new JSONObject();
            jsonReader.readObject(jsonObject);
            strVal = jsonObject.getString("currency");
            if (strVal == null) {
                strVal = jsonObject.getString("currencyCode");
            }
        } else {
            strVal = jsonReader.readString();
        }
        if (strVal == null || strVal.isEmpty()) {
            return null;
        }
        return Currency.getInstance(strVal);
    }
}

        if (jsonReader.getType() == JSONB.Constants.BC_TYPED_ANY) {
            jsonReader.next();
            long typeHash = jsonReader.readTypeHashCode();
            final long TYPE_HASH_FULL = -7860540621745740270L; // Fnv.hashCode64("java.util.Currency");
            if (typeHash != TYPE_HASH && typeHash != TYPE_HASH_FULL) {
                throw new JSONException(jsonReader.info("currency not support input autoTypeClass " + jsonReader.getString()));
            }
        }

        String strVal = jsonReader.readString();
        if (strVal == null || strVal.isEmpty()) {
            return null;
        }
        return Currency.getInstance(strVal);
    
<methods>public void <init>(Class#RAW) ,public java.lang.Object createInstance(long) ,public Class#RAW getObjectClass() ,public abstract java.lang.Object readJSONBObject(com.alibaba.fastjson2.JSONReader, java.lang.reflect.Type, java.lang.Object, long) <variables>protected final non-sealed Class#RAW objectClass