This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class UsingRave { | |
public static void main(String[] args) { | |
MyModel myModel = new MyModel(“Validate me please!”); | |
try { | |
Rave.getInstance().validate(myModel); | |
} catch (RaveException e) { | |
// This response didn't pass RAVE validation, throw an exception. | |
throw new RuntimeException(e); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Validated(factory = RaveValidatorFactory.class) | |
public class MyModel { | |
@NonNull private String someString; | |
public MyModel(@NonNull String someString) { | |
this.someString = someString; | |
} | |
@NonNull |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class UsingRave { | |
public static void main(String[] args) { | |
MyModel myModel = new MyModel(“Validate me please!”); | |
Rave.validate(myModel); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* A factory class capable of creating a validator whose implementation generated at annotation processing time. | |
*/ | |
public final class RaveValidatorFactory implements ValidatorFactory { | |
@NonNull | |
@Override | |
public BaseValidator generateValidator() { | |
return new RaveValidatorFactory_Generated_Validator(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public final class RaveValidatorFactory_Generated_Validator extends BaseValidator { | |
RaveValidatorFactory_Generated_Validator() { | |
addSupportedClass(MyModel.class); | |
registerSelf(); | |
} | |
@Override | |
protected void validateAs(@NonNull Object object, @NonNull Class<?> clazz, @NonNull ExclusionStrategy exclusionStrategy) throws InvalidModelException { | |
if (!clazz.isInstance(object)) { | |
throw new IllegalArgumentException(object.getClass().getCanonicalName() + "is not of type" + clazz.getCanonicalName()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Rider { | |
@NonNull private String firstName; | |
@NonNull private String lastName; | |
public Rider(@NonNull String firstname, @NonNull String lastName) { | |
this.firstName = firstName; | |
this.lastName = lastName; | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: ‘com.android.application’ | |
dependencies { | |
implementation deps.support.appcompat | |
implementation deps.retrofit.core | |
implementation deps.retrofit.adapter.rxjava2 | |
implementation deps.retrofit.converter.moshi | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def versions = [ retrofit: ‘2.4.0', support: '27.1.1'] | |
def retrofit = [ | |
adapter: [ rxjava2: "com.squareup.retrofit2:adapter-rxjava2:${versions.retrofit}" ], | |
converter: [ moshi: "com.squareup.retrofit2:converter-moshi:${versions.retrofit}" ], | |
core: "com.squareup.retrofit2:retrofit:${versions.retrofit}" | |
] | |
def support = [ | |
appcompat: "com.android.support:appcompat-v7:${versions.support}", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"securities":{ | |
"security":[ | |
{ | |
"symbol":"PHYS", | |
"exchange":"Q", | |
"type":"stock", | |
"description":"Sprott Physical Gold Trust ETV" | |
} | |
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Indicates an endpoint wraps a response in a JSON Object. | |
* When deserializing the response we should only return | |
* what's inside the outer most object. | |
*/ | |
@Retention(RUNTIME) | |
@JsonQualifier | |
@Target(FUNCTION, CLASS) | |
internal annotation class Enveloped |
OlderNewer