| <%@ jet package="org.eclipse.jpt.ui.internal.wizards.entity" |
| imports="org.eclipse.jpt.ui.internal.wizards.entity.data.model.* java.util.* " |
| class="IdClassTemplate" |
| %> |
| <% CreateEntityTemplateModel model = (CreateEntityTemplateModel) argument; |
| if (model.getJavaPackageName()!=null && model.getJavaPackageName()!="") { %>package <%=model.getJavaPackageName()%>;<%}%> |
| |
| <% Collection<String> imports = model.getImports(true); |
| for (String anImport : imports) { %> |
| import <%=anImport%>; |
| <% } %> |
| |
| /** |
| * ID class for entity: <%=model.getClassName()%> |
| * |
| */ |
| public class <%=model.getIdClassName()%> |
| <% List<String> interfaces = model.getInterfaces(); |
| if (interfaces.size()>0) {%> implements <% } |
| for (int i=0; i<interfaces.size(); i++) { |
| String INTERFACE = (String) interfaces.get(i); |
| if (i>0) { %>, <%}%><%=INTERFACE%><%}%> { |
| |
| <% List<EntityRow> fields = model.getEntityFields(); |
| List<String> pkFields = model.getPKFields(); |
| for (int i=0; i<fields.size(); i++) { |
| EntityRow entity = (EntityRow) fields.get(i); |
| if (!pkFields.contains(entity.getName())) { |
| continue; |
| } |
| %> |
| private <%=entity.getType()%> <%=entity.getName()%>;<%}%> |
| private static final long serialVersionUID = 1L; |
| |
| public <%=model.getIdClassName()%>() {} |
| |
| <% |
| fields = model.getEntityFields(); |
| if (fields != null) for (int i=0; i<fields.size(); i++) { |
| EntityRow field = (EntityRow) fields.get(i); |
| String TYPE = field.getType(); |
| String NAME = field.getName(); |
| if (!pkFields.contains(NAME)) { |
| continue; |
| } |
| String METHOD = NAME.substring(0,1).toUpperCase() + NAME.substring(1); |
| %> |
| |
| public <%=TYPE%> get<%=METHOD%>() { |
| return this.<%=NAME%>; |
| } |
| |
| public void set<%=METHOD%>(<%=TYPE%> <%=NAME%>) { |
| this.<%=NAME%> = <%=NAME%>; |
| } |
| <%}%> |
| |
| /* |
| * @see java.lang.Object#equals(Object) |
| */ |
| public boolean equals(Object o) { |
| if (o == this) { |
| return true; |
| } |
| if (!(o instanceof <%=model.getIdClassName()%>)) { |
| return false; |
| } |
| <%=model.getIdClassName()%> other = (<%=model.getIdClassName()%>) o; |
| return true |
| <% if (fields != null) for (int i=0; i<fields.size(); i++) { |
| EntityRow field = (EntityRow) fields.get(i); |
| String NAME = field.getName(); |
| if (!pkFields.contains(NAME)) { |
| continue; |
| }%> |
| <% String TYPE = field.getType(); |
| String GET_METHOD = "get" + NAME.substring(0,1).toUpperCase() + NAME.substring(1); %> |
| <% if (TYPE.equals("boolean") || TYPE.equals("byte") || TYPE.equals("char") || TYPE.equals("short") || TYPE.equals("int") || TYPE.equals("long")) { %> |
| && <%=GET_METHOD%>() == other.<%=GET_METHOD%>() |
| <% } else if (TYPE.equals("double")) { %> |
| && (Double.doubleToLongBits(<%=GET_METHOD%>()) == Double.doubleToLongBits(other.<%=GET_METHOD%>())) |
| <% } else if (TYPE.equals("float")) { %> |
| && (Float.floatToIntBits(<%=GET_METHOD%>()) == Float.floatToIntBits(other.<%=GET_METHOD%>())) |
| <% } else { %> |
| && (<%=GET_METHOD%>() == null ? other.<%=GET_METHOD%>() == null : <%=GET_METHOD%>().equals(other.<%=GET_METHOD%>())) |
| <% } %> |
| <% } %>; |
| } |
| |
| /* |
| * @see java.lang.Object#hashCode() |
| */ |
| public int hashCode() { |
| final int prime = 31; |
| int result = 1; |
| <% if (fields != null) for (int i=0; i<fields.size(); i++) { |
| EntityRow field = (EntityRow) fields.get(i); |
| String NAME = field.getName(); |
| if (!pkFields.contains(NAME)) { |
| continue; |
| }%> |
| <% String TYPE = field.getType(); |
| String GET_METHOD = "get" + NAME.substring(0,1).toUpperCase() + NAME.substring(1); %> |
| <% if (TYPE.equals("boolean")) { %> |
| result = prime * result + (<%=GET_METHOD%>() ? 1 : 0); |
| <% } else if (TYPE.equals("int")) { %> |
| result = prime * result + <%=GET_METHOD%>(); |
| <% } else if (TYPE.equals("byte") || TYPE.equals("char") || TYPE.equals("short")) { %> |
| result = prime * result + ((int) <%=GET_METHOD%>()); |
| <% } else if (TYPE.equals("long")) { %> |
| result = prime * result + ((int) (<%=GET_METHOD%>() ^ (<%=GET_METHOD%>() >>> 32))); |
| <% } else if (TYPE.equals("double")) { %> |
| result = prime * result + ((int) (Double.doubleToLongBits(<%=GET_METHOD%>() ) ^ (Double.doubleToLongBits(<%=GET_METHOD%>()) >>> 32))); |
| <% } else if (TYPE.equals("float")) { %> |
| result = prime * result + Float.floatToIntBits(<%=GET_METHOD%>()); |
| <% } else { %> |
| result = prime * result + (<%=GET_METHOD%>() == null ? 0 : <%=GET_METHOD%>().hashCode()); |
| <% } %> |
| <% } %> |
| return result; |
| } |
| |
| |
| } |