class DecideRuledSheetAssociation extends SheetAssociation 
implements Ordered, Comparable<DecideRuledSheetAssociation>, BeanNameAware {
    protected DecideRule rules;
    protected int order = 0; 
    
    public DecideRule getRules() {
        return rules;
    }
    @Required
    public void setRules(DecideRule rules) {
        this.rules = rules;
    }

    public int getOrder() {
        return order;
    }
    public void setOrder(int order) {
        this.order = order;
    }

    // compare on the basis of Ordered value
    public int compareTo(DecideRuledSheetAssociation o) {<FILL_FUNCTION_BODY>}
    
    protected String name;
    public void setBeanName(String name) {
        this.name = name;
    }
}

        int cmp = order - ((Ordered)o).getOrder();
        if(cmp!=0) {
            return cmp;
        }
        return name.compareTo(o.name); 
    
<methods>public non-sealed void <init>() ,public List<java.lang.String> getTargetSheetNames() ,public void setTargetSheetNames(List<java.lang.String>) <variables>protected List<java.lang.String> targetSheetNames