Java 嵌套回调太深
如何替换嵌套回调(Testing.java)以便于阅读:Java 嵌套回调太深,java,android,Java,Android,如何替换嵌套回调(Testing.java)以便于阅读: if(isValidGenderID() && isValidReligionID() && isValidMaritalID()){ // DO PRIMARY TASK } 嵌套回调太深,使程序不易阅读!。如何解决这个问题 //PersonValidation.java public static void isValidGenderID(@NonNull Context context, in
if(isValidGenderID() && isValidReligionID() && isValidMaritalID()){
// DO PRIMARY TASK
}
嵌套回调太深,使程序不易阅读!。如何解决这个问题
//PersonValidation.java
public static void isValidGenderID(@NonNull Context context, int genderID, final IGenderDataSource.IIsExistGenderIDCallback callback) {
GenderDataSource.getInstance(context).isExistGenderID(genderID, new IGenderDataSource.IIsExistGenderIDCallback() {
@Override
public void onSuccess(boolean result) {
callback.onSuccess(result);
}
@Override
public void onFailure(String result) {
callback.onFailure(result);
}
});
}
public static void isValidReligionID(@NonNull Context context, int religionID, final IReligionDataSource.IIsExistReligionIDCallback callback) {
ReligionDataSource.getInstance(context).isExistReligionID(religionID, new IReligionDataSource.IIsExistReligionIDCallback() {
@Override
public void onSuccess(boolean result) {
callback.onSuccess(result);
}
@Override
public void onFailure(String result) {
callback.onFailure(result);
}
});
}
public static void isValidMaritalID(@NonNull Context context, int maritalID, final IMaritalDataSource.IIsExistMaritalIDCallback callback) {
MaritalDataSource.getInstance(context).isExistMaritalID(maritalID, new IMaritalDataSource.IIsExistMaritalIDCallback() {
@Override
public void onSuccess(boolean result) {
callback.onSuccess(result);
}
@Override
public void onFailure(String result) {
callback.onFailure(result);
}
});
}
//GenderDataSource.java
@Override
public void isExistGenderID(final int ID, @NonNull final IIsExistGenderIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistReligionID(final int ID, @NonNull final IIsExistReligionIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistMaritalID(final int ID, @NonNull final IIsExistMaritalIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
//religinandasource.java
@Override
public void isExistGenderID(final int ID, @NonNull final IIsExistGenderIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistReligionID(final int ID, @NonNull final IIsExistReligionIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistMaritalID(final int ID, @NonNull final IIsExistMaritalIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
//MaritalDataSource.java
@Override
public void isExistGenderID(final int ID, @NonNull final IIsExistGenderIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistReligionID(final int ID, @NonNull final IIsExistReligionIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
@Override
public void isExistMaritalID(final int ID, @NonNull final IIsExistMaritalIDCallback callback) {
Runnable r = new Runnable() {
@Override
public void run() {
db.sqlRawQuery();
callback.onSuccess();
}
};
appExecutors.getLocalDb().execute(r);
}
//java(嵌套调用太深,使程序不易阅读)