View Javadoc

1   package com.leonarduk.clearcheckbook.dto;
2   
3   import java.util.Map;
4   
5   import org.apache.log4j.Logger;
6   
7   /***
8    * 
9    * 
10   * 
11   * @author Stephen Leonard
12   * @since 28 Jan 2014
13   * 
14   * @version $Author:: $: Author of last commit
15   * @version $Rev:: $: Revision of last commit
16   * @version $Date:: $: Date of last commit
17   * 
18   */
19  public class UserDataType extends AbstractDataType<UserDataType> {
20  
21  	enum Fields {
22  		EMAIL, PASSWORD, USERNAME, APP
23  	}
24  
25  	@Override
26  	protected Enum<?>[] getFields() {
27  		return Fields.values();
28  	}
29  
30  	private static final Logger _logger = Logger.getLogger(UserDataType.class);
31  
32  	public static UserDataType create(String username, String email,
33  			String password) {
34  		return UserDataType.create(username, email, password, "JAVA");
35  	}
36  
37  	/***
38  	 * Create user passing the optional application parameter.
39  	 * 
40  	 * @param username
41  	 * @param email
42  	 * @param password
43  	 * @param application
44  	 * @return
45  	 */
46  	public static UserDataType create(String username, String email,
47  			String password, String application) {
48  		UserDataType userDataType = new UserDataType();
49  		userDataType.addField(Fields.EMAIL, email);
50  		userDataType.addField(Fields.PASSWORD, password);
51  		userDataType.addField(Fields.USERNAME, username);
52  		userDataType.addField(Fields.APP, application);
53  
54  		_logger.debug("Created: " + userDataType);
55  		return userDataType;
56  	}
57  
58  	private UserDataType() {
59  	}
60  
61  	public UserDataType(Map<String, String> fieldMap) {
62  		super(fieldMap);
63  	}
64  
65  	public String getApplication() {
66  		return getValue(Fields.APP);
67  	}
68  
69  	public String getEmail() {
70  		return getValue(Fields.EMAIL);
71  	}
72  
73  	@Override
74  	protected Enum<?>[] getInsertFields() {
75  		return new Fields[] { Fields.EMAIL, Fields.PASSWORD, Fields.USERNAME,
76  				Fields.APP };
77  	}
78  
79  	public String getPassword() {
80  		return getValue(Fields.PASSWORD);
81  	}
82  
83  	public String getUsername() {
84  		return getValue(Fields.USERNAME);
85  	}
86  
87  	@Override
88  	public String toString() {
89  		return "UserDataType [toString()=" + super.toString() + "]";
90  	}
91  
92  }