class FieldReaderBoolField<T>
        extends FieldReaderObjectField<T> {
    FieldReaderBoolField(
            String fieldName,
            Class fieldType,
            int ordinal,
            long features,
            String format,
            Boolean defaultValue,
            JSONSchema schema,
            Field field
    ) {
        super(fieldName, fieldType, fieldType, ordinal, features, format, null, defaultValue, schema, field);
    }

    @Override
    public void readFieldValue(JSONReader jsonReader, T object) {<FILL_FUNCTION_BODY>}

    @Override
    public void accept(T object, boolean value) {
        accept(object, Boolean.valueOf(value));
    }

    @Override
    public void accept(T object, int value) {
        accept(object, TypeUtils.toBoolean(value));
    }

    @Override
    public void accept(T object, Object value) {
        Boolean booleanValue = TypeUtils.toBoolean(value);
        if (schema != null) {
            schema.assertValidate(booleanValue);
        }

        try {
            field.set(object, booleanValue);
        } catch (Exception e) {
            throw new JSONException("set " + fieldName + " error", e);
        }
    }

    @Override
    public Object readFieldValue(JSONReader jsonReader) {
        return jsonReader.readBool();
    }
}

        Boolean fieldValue = jsonReader.readBool();
        try {
            field.set(object, fieldValue);
        } catch (Exception e) {
            throw new JSONException(jsonReader.info("set " + fieldName + " error"), e);
        }
    
<methods>public void accept(T, boolean) ,public void accept(T, byte) ,public void accept(T, short) ,public void accept(T, int) ,public void accept(T, long) ,public void accept(T, float) ,public void accept(T, double) ,public void accept(T, char) ,public void accept(T, java.lang.Object) <variables>