Skip to content

ShiftFactory

Carlyle-Lee edited this page Jul 31, 2020 · 2 revisions

用于创建流式调用与数据转换对象的工厂类

public XXX create(value)
返回value相对应的可遍历的流式对象。支持Map,List,int[], float[], double[],long[], Object[];

public XXX just(value)
返回value的流式调用对象。

用途:将一个对象数据转换为另外一个对象数据进行处理。 例如:将String 转换为File, File 再转为File[],然后读取文件。

String dir ="/sdcard/";
        TM.just(dir)
                .shiftT(value -> ShiftFactory.just(new File(value)))
                .shiftT(value -> ShiftFactory.create(value.listFiles()))
                .callAsync(value -> Log.d(TAG," do read file " + value));

public XXX preCal(YYYY)
在任务执行前调用,并传入当前层数据的参数; 可以多次调用preCall,preCall 将按照FIFO调用。

public XXX afterCal(YYYY)
在任务执行完之后调用,并传入当前层的数据参数。 可以多次调用afterCall,afterCall 按照FILO顺序执行。

 String dir ="/sdcard/";
        TM.just(dir)
                .shiftT(value -> ShiftFactory.just(new File(value)))
                .shiftT(value -> ShiftFactory.create(value.listFiles()))
                .preCall(value -> Log.d(TAG,"do sth before read file"))
                .afterCall(value -> Log.d(TAG, "do sth after read file"))
                .callAsync(value -> Log.d(TAG," do read file " + value));
Clone this wiki locally