All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.javatool.canal.client.factory.AbstractModelFactory Maven / Gradle / Ivy

The newest version!
package top.javatool.canal.client.factory;

import top.javatool.canal.client.enums.TableNameEnum;
import top.javatool.canal.client.handler.EntryHandler;
import top.javatool.canal.client.util.GenericUtil;
import top.javatool.canal.client.util.HandlerUtil;

public abstract class AbstractModelFactory implements IModelFactory {


    @Override
    public  R newInstance(EntryHandler entryHandler, T t) throws Exception {
        String canalTableName = HandlerUtil.getCanalTableName(entryHandler);
        if (TableNameEnum.ALL.name().toLowerCase().equals(canalTableName)) {
            return (R) t;
        }
        Class tableClass = GenericUtil.getTableClass(entryHandler);
        if (tableClass != null) {
            return newInstance(tableClass, t);
        }
        return null;
    }


    abstract  R newInstance(Class c, T t) throws Exception;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy