/**
 *
 */
package uk.co.jemos.podam.test.dto;

import org.hibernate.validator.constraints.Length;

import uk.co.jemos.podam.common.PodamIntValue;
import uk.co.jemos.podam.common.PodamStringValue;

import javax.persistence.Basic;
import javax.persistence.Id;
import javax.persistence.Version;
import javax.validation.constraints.Max;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

/**
 * @author sba45
 */
public class SimplePojoWithMultipleAnnotationsToAttribute {

    private String stringField;

    @Id
    @Length(min = 3, max = 3)
    @PodamStringValue(strValue = "testString")
    private String stringFieldWithHibernateAnnotation;

    @Length(min = 3, max = 3)
    @Pattern(regexp = "stringFieldWithPatternRegex")
    @PodamStringValue(strValue = "stringFieldWithPatternRegex")
    private String stringFieldWithPatternAnnotation;

    @Max(value = 100)
    @PodamIntValue(maxValue = 100, minValue = 0)
    @Version
    private Integer integerWithHibernateAnnotation;

    @Basic
    @Size(min = 7, max = 7)
    private String stringFieldNoPodamAnnotation;


    public String getStringField() {
        return stringField;
    }

    public void setStringField(String stringField) {
        this.stringField = stringField;
    }

    public String getStringFieldWithHibernateAnnotation() {
        return stringFieldWithHibernateAnnotation;
    }

    public void setStringFieldWithHibernateAnnotation(String stringFieldWithHibernateAnnotation) {
        this.stringFieldWithHibernateAnnotation = stringFieldWithHibernateAnnotation;
    }


    public String getStringFieldWithPatternAnnotation() {
        return stringFieldWithPatternAnnotation;
    }

    public void setStringFieldWithPatternAnnotation(String stringFieldWithPatternAnnotation) {
        this.stringFieldWithPatternAnnotation = stringFieldWithPatternAnnotation;
    }

    public Integer getIntegerWithHibernateAnnotation() {
        return integerWithHibernateAnnotation;
    }

    public void setIntegerWithHibernateAnnotation(Integer integerWithHibernateAnnotation) {
        this.integerWithHibernateAnnotation = integerWithHibernateAnnotation;
    }

    public String getStringFieldNoPodamAnnotation() {
        return stringFieldNoPodamAnnotation;
    }

    public void setStringFieldNoPodamAnnotation(String stringFieldNoPodamAnnotation) {
        this.stringFieldNoPodamAnnotation = stringFieldNoPodamAnnotation;
    }
}

@@ -223,16 +223,98 @@
 .Basic;%0A
+import javax.persistence.GeneratedValue;%0Aimport javax.persistence.GenerationType;%0A
 import j
@@ -334,16 +334,16 @@
 nce.Id;%0A
-
 import j
@@ -1184,16 +1184,119 @@
 ation;%0A%0A
+    @GeneratedValue(strategy=GenerationType.AUTO)%0A    private String stringFieldUnsupportedAnnotation;%0A
 %0A    pub
@@ -2542,32 +2542,32 @@
 amAnnotation) %7B%0A
-
         this.str
@@ -2629,11 +2629,309 @@
 n;%0A    %7D
+%0A%0A    public String getStringFieldUnsupportedAnnotation() %7B%0A        return stringFieldUnsupportedAnnotation;%0A    %7D%0A%0A    public void setStringFieldUnsupportedAnnotation(String stringFieldUnsupportedAnnotation) %7B%0A        this.stringFieldUnsupportedAnnotation = stringFieldUnsupportedAnnotation;%0A    %7D
 %0A%7D%0A

Test property with single annotation not supported by Podam