package com.tns.tests;
public class UseCallbackTest {
public UseCallbackTest(int data) {
this.data = new Data(data);
}
public boolean enqueDataCallback(final long delay) {
Runnable r = new Runnable() {
@Override
public void run() {
dataCallback.onData(data, delay);
}
};
Thread t = new Thread(r);
t.start();
return true;
}
public boolean enqueCleanCallback(final long delay) {
Runnable r = new Runnable() {
@Override
public void run() {
cleanCallback.onClean(delay);
}
};
Thread t = new Thread(r);
t.start();
return true;
}
public void setDataCallback(DataCallback dataCallback) {
this.dataCallback = dataCallback;
}
public void setCleanCallback(CleanCallback cleanCallback) {
this.cleanCallback = cleanCallback;
}
public interface DataCallback {
void onData(Data data, long delay);
}
public interface CleanCallback {
void onClean(long delay);
}
public static final class Data {
public Data(int data) {
setData(data);
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
private int data;
}
private DataCallback dataCallback;
private CleanCallback cleanCallback;
private Data data;
}