package org.jboss.resteasy.test.validation.resource;
import javax.validation.constraints.Size;
import javax.validation.executable.ExecutableType;
import javax.validation.executable.ValidateOnExecution;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
@Path("")
@ValidateOnExecution(type = {ExecutableType.NONE})
public class TestValidateOnExecutionResource implements TestValidationOnExecuteSubInterface {
@POST
@Path("none")
@Size(min = 1)
public String none(@Size(max = 1) String s) {
return s;
}
@POST
@Path("getterOnNonGetter")
@Size(min = 1)
@ValidateOnExecution(type = {ExecutableType.GETTER_METHODS, ExecutableType.CONSTRUCTORS, ExecutableType.NONE})
public String nongetter1(@Size(max = 1) String s) {
return s;
}
@POST
@Path("nonGetterOnGetter")
@Size(min = 1)
@ValidateOnExecution(type = {ExecutableType.NON_GETTER_METHODS, ExecutableType.CONSTRUCTORS, ExecutableType.NONE})
public String getS1() {
return "abc";
}
@POST
@Path("implicitOnNonGetter")
@Size(min = 1)
@ValidateOnExecution(type = {ExecutableType.IMPLICIT})
public String nongetter2(@Size(max = 1) String s) {
return s;
}
@POST
@Path("implicitOnGetter")
@Size(max = 1)
@ValidateOnExecution(type = {ExecutableType.IMPLICIT})
// Will be validated when other methods are called, returning a property
// violation.
public String getS2() {
return "abc";
}
@POST
@Path("allOnNonGetter")
@Size(min = 1)
@ValidateOnExecution(type = {ExecutableType.ALL})
public String nongetter3(@Size(max = 1) String s) {
return s;
}
@POST
@Path("allOnGetter")
@Size(max = 1)
@ValidateOnExecution(type = {ExecutableType.ALL})
// Will be validated when other methods are called, returning a property
// violation.
public String getS3() {
return "abc";
}
@POST
@Path("override")
@Size(min = 1)
@ValidateOnExecution(type = {ExecutableType.ALL})
public String override(@Size(max = 1) String s) {
return s;
}
}