Dan Haywood created ISIS-249:
--------------------------------

             Summary: Fail early for enums that have no default and are 
mandatory.
                 Key: ISIS-249
                 URL: https://issues.apache.org/jira/browse/ISIS-249
             Project: Isis
          Issue Type: Improvement
          Components: Core: MetaModel
    Affects Versions: 0.2.0-incubating
            Reporter: Dan Haywood
            Priority: Minor


... such that this would be an error, showing up as a ValidationFailure in the 
MetaModelValidator:

    // {{ Gender (attribute)
    private PersonGenderType gender;

    @MemberOrder(sequence = "4")
    public PersonGenderType getGender() {
        return gender;
    }

    public void setGender(final PersonGenderType gender) {
        this.gender = gender;
    }
    
    // }}
        
        
        
        
but this would be ok, because the programmer has provided an explicit default 
method:   
        
            // {{ Gender (attribute)
    private PersonGenderType gender;

    @MemberOrder(sequence = "4")
    public PersonGenderType getGender() {
        return gender;
    }

    public void setGender(final PersonGenderType gender) {
        this.gender = gender;
    }
    
    public PersonGenderType defaultGender() {
        return PersonGenderType.UNKNOWN;
    }
    // }}
        
        
        

and this would be ok, because the property is optional
        
            // {{ Gender (attribute)
    private PersonGenderType gender;

    @MemberOrder(sequence = "4")
    @Optional
    public PersonGenderType getGender() {
        return gender;
    }

    public void setGender(final PersonGenderType gender) {
        this.gender = gender;
    }
    // }}       

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to