class SqlReadFactory {
    private static final Map<ReadType, SqlRead> READ_MAP = new HashMap<>();
    private static final Map<ReadType, SqlReadPollTask> POLL_TASK_MAP = new HashMap<>();

    public static void registerRead(SQLParserVO config) {
        READ_MAP.put(ReadType.CHAIN, new ChainRead(config));
        READ_MAP.put(ReadType.SCRIPT, new ScriptRead(config));
    }

    public static void registerSqlReadPollTask(ReadType readType) {<FILL_FUNCTION_BODY>}

    public static SqlRead getSqlRead(ReadType readType) {
        return READ_MAP.get(readType);
    }

    public static SqlReadPollTask getSqlReadPollTask(ReadType readType) {
        return POLL_TASK_MAP.get(readType);
    }
}

        SqlRead sqlRead = getSqlRead(readType);
        if (ReadType.CHAIN.equals(readType)) {
            POLL_TASK_MAP.put(ReadType.CHAIN, new ChainReadPollTask(sqlRead));
        } else if (ReadType.SCRIPT.equals(readType)) {
            POLL_TASK_MAP.put(ReadType.SCRIPT, new ScriptReadPollTask(sqlRead));
        }
    
<no_super_class>