refactor
This commit is contained in:
parent
c328f6f18e
commit
b0de8da96c
|
|
@ -33,18 +33,40 @@ public class ValidationState implements Serializable {
|
|||
/**
|
||||
* Initial state of validation. It indicates that no validation rules applied yet.
|
||||
*/
|
||||
public static final ValidationState INITIAL = new ValidationState();
|
||||
public static final ValidationState INITIAL = new ValidationState(-1);
|
||||
/**
|
||||
* Valid state.
|
||||
*/
|
||||
public static final ValidationState VALID = new ValidationState();
|
||||
public static final ValidationState VALID = new ValidationState(-2);
|
||||
/**
|
||||
* Error shows when model (e.g. DateTime) is failing on conversion from raw data (e.g. from String) for validation.
|
||||
*/
|
||||
public static final ValidationState ERROR_CONVERSION = new ValidationState();
|
||||
public static final ValidationState ERROR_CONVERSION = new ValidationState(-3);
|
||||
/**
|
||||
* Error shows when we don't need to show any description of error (e.g. just highlight input field with red color).
|
||||
*/
|
||||
public static final ValidationState ERROR_NO_DESCRIPTION = new ValidationState();
|
||||
public static final ValidationState ERROR_NO_DESCRIPTION = new ValidationState(-4);
|
||||
|
||||
}
|
||||
private final int code;
|
||||
|
||||
public ValidationState(final int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(final Object object) {
|
||||
return this == object
|
||||
|| !(object == null || getClass() != object.getClass()) && code == ((ValidationState) object).code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
//TODO
|
||||
return super.hashCode();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
package ru.touchin.templates.validation;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
/**
|
||||
* Created by Ilia Kurtov on 24/01/2017.
|
||||
* TODO: fill
|
||||
|
|
@ -29,6 +27,6 @@ public interface ViewWithError {
|
|||
|
||||
void hideError();
|
||||
|
||||
void showError(@NonNull final ValidationState validationState);
|
||||
void showError();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,10 +17,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validationcontrollers;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import ru.touchin.templates.validation.ValidationState;
|
||||
import ru.touchin.templates.validation.validators.SameTypeValidator;
|
||||
import rx.Observable;
|
||||
|
||||
/**
|
||||
|
|
@ -29,8 +31,8 @@ import rx.Observable;
|
|||
*/
|
||||
public class BooleanValidationController extends TwoWayValidationController<Boolean, Boolean, SameTypeValidator<Boolean>> {
|
||||
|
||||
public BooleanValidationController(@NonNull final SameTypeValidator<Boolean> validationWrapper) {
|
||||
super(validationWrapper);
|
||||
public BooleanValidationController(@NonNull final SameTypeValidator<Boolean> validator) {
|
||||
super(validator);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validationcontrollers;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.text.TextUtils;
|
||||
|
|
@ -25,6 +25,8 @@ import android.text.TextUtils;
|
|||
import java.io.Serializable;
|
||||
|
||||
import ru.touchin.roboswag.core.utils.pairs.NonNullPair;
|
||||
import ru.touchin.templates.validation.ValidationState;
|
||||
import ru.touchin.templates.validation.validators.EditTextValidator;
|
||||
import rx.Observable;
|
||||
|
||||
/**
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validationcontrollers;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import ru.touchin.templates.validation.ValidationState;
|
||||
import ru.touchin.templates.validation.validators.Validator;
|
||||
import rx.Observable;
|
||||
|
||||
public class SimpleValidationController<TModel extends Serializable, TValidator extends Validator<TModel, TModel>>
|
||||
|
|
@ -17,13 +17,16 @@
|
|||
*
|
||||
*/
|
||||
|
||||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validationcontrollers;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import ru.touchin.templates.validation.ValidationState;
|
||||
import ru.touchin.templates.validation.ViewWithError;
|
||||
import ru.touchin.templates.validation.validators.Validator;
|
||||
import rx.Observable;
|
||||
import rx.android.schedulers.AndroidSchedulers;
|
||||
import rx.functions.Action1;
|
||||
|
|
@ -17,10 +17,12 @@
|
|||
*
|
||||
*/
|
||||
|
||||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validationcontrollers;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import ru.touchin.templates.validation.validators.Validator;
|
||||
|
||||
/**
|
||||
* Created by Ilia Kurtov on 24/01/2017.
|
||||
* TODO: fill
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validators;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
|
@ -28,6 +28,8 @@ import ru.touchin.roboswag.core.log.Lc;
|
|||
import ru.touchin.roboswag.core.observables.Changeable;
|
||||
import ru.touchin.roboswag.core.observables.NonNullChangeable;
|
||||
import ru.touchin.roboswag.core.utils.pairs.HalfNullablePair;
|
||||
import ru.touchin.templates.validation.ConversionException;
|
||||
import ru.touchin.templates.validation.ValidationState;
|
||||
import rx.Observable;
|
||||
import rx.exceptions.OnErrorThrowable;
|
||||
import rx.functions.Func1;
|
||||
|
|
@ -51,12 +53,12 @@ public abstract class EditTextValidator<TModel extends Serializable> extends Val
|
|||
return showFullCheck;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@NonNull
|
||||
public Changeable<Func1<TModel, HalfNullablePair<ValidationState, TModel>>> getFinalCheck() {
|
||||
return finalCheck;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@NonNull
|
||||
public Changeable<Func1<String, HalfNullablePair<ValidationState, TModel>>> getPrimaryCheck() {
|
||||
return primaryCheck;
|
||||
}
|
||||
|
|
@ -1,10 +1,12 @@
|
|||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validators;
|
||||
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import ru.touchin.templates.validation.ConversionException;
|
||||
|
||||
public class SameTypeValidator<TModel extends Serializable> extends Validator<TModel, TModel> {
|
||||
|
||||
@NonNull
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
package ru.touchin.templates.validation;
|
||||
package ru.touchin.templates.validation.validators;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
|
|
@ -25,6 +25,8 @@ import java.io.Serializable;
|
|||
|
||||
import ru.touchin.roboswag.core.observables.Changeable;
|
||||
import ru.touchin.roboswag.core.observables.NonNullChangeable;
|
||||
import ru.touchin.templates.validation.ConversionException;
|
||||
import ru.touchin.templates.validation.ValidationState;
|
||||
|
||||
/**
|
||||
* Created by Ilia Kurtov on 24/01/2017.
|
||||
Loading…
Reference in New Issue