View Javadoc

1   /**
2    * 
3    */
4   package org.springframework.roo.addon.finder;
5   
6   import org.springframework.roo.classpath.details.FieldMetadata;
7   import org.springframework.roo.model.JavaSymbolName;
8   import org.springframework.roo.support.util.Assert;
9   
10  /**
11   * Token which represents a field in an JPA Entity
12   * 
13   * @author Ben Alex
14   * @author Stefan Schmidt
15   * @since 1.0
16   *
17   */
18  public class FieldToken implements Token, Comparable<FieldToken> {
19  	
20  	private FieldMetadata field;	
21  	
22  	private JavaSymbolName fieldName;
23  
24  	public FieldToken(FieldMetadata field) {
25  		super();
26  		Assert.notNull(field, "FieldMetadata required");
27  		this.field = field;
28  		this.fieldName = field.getFieldName();
29  	}
30  	
31  	public String getValue() {
32  		return field.getFieldName().getSymbolNameCapitalisedFirstLetter();
33  	}
34  	
35  	public JavaSymbolName getFieldName() {
36  		return fieldName;
37  	}
38  
39  	public void setFieldName(JavaSymbolName fieldName) {
40  		this.fieldName = fieldName;
41  	}
42  
43  	public FieldMetadata getField() {
44  		return field;
45  	}
46  	
47  	public int compareTo(FieldToken o) {
48  		int l = o.getValue().length() - this.getValue().length();
49  		if(l == 0) return  -1;
50  		else return l;
51  	}
52  
53  }