I have a question about the best way to approach my JSF implementation. I hope someone here can help. I have a editUser.jsp and a UserHandler backing bean. The UserHandler backing bean has a member variable: private User selectedUser; So in the jsp I do things like #{userHandler.selectedUser.firstname} to read and write the data to the user object. My problem is the User object is a pretty dumb domain object with getters and setters that is provided to me by the team that built the database side. For display purposes I need have a variety of helper methods. For example, let's say User has a: private int gender; // where 0 = female; 1 = male In my JSF I want to be able to do something like this to show text instead of 0 or 1: #{userHandler.selectedUser.genderDisplayText} So here are the ideas I have for approaching this sort of problem, any suggestions are appreciated! 1. Add a getGenderDisplayText() method to the User class. Problem with this is there are going to be lots of these helper methods, and so the simple User domain object is going to get very cluttered with all of this display oriented code. 2. Implement UserBean with all the same getters and setters as the User object and also the new methods like getGenderDisplayText(). Build a factory class/method that can translate the User into UserBean and vice versa. Benefit is this nicely decouples the UI code from the database code. Problem with this is I find myself implementing all the getter and setter methods twice. 3. Extend User to UserBean (UserBean extends User) and add the new methods I want to UserBean. Benefit is I don't have to re-implement all the User object getter/setter methods. Problem is I still need some kind of factory class or method to do the translation. Also, is the JSF and Domain code too tightly coupled this way? Another question related to #3. If I have "UserBean extends User", given an existing populated User object, is there a simple way in Java to convert it into a UserBean? Like, can I just do "UserBean ub = (UserBean)user" or something like that? Again, any info or suggestions are greatly appreciated. Thanks for reading. rh