r1065 - trunk/eugene/src/main/java/org/nuiton/eugene/java
Author: sletellier Date: 2011-03-18 17:21:26 +0100 (Fri, 18 Mar 2011) New Revision: 1065 Url: http://nuiton.org/repositories/revision/eugene/1065 Log: #1408 Add contains and containsAll methods on bean generation Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java 2011-03-18 11:33:00 UTC (rev 1064) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/JavaBeanTransformer.java 2011-03-18 16:21:26 UTC (rev 1065) @@ -263,6 +263,24 @@ ); + createContainsChildMethod(output, + attrName, + attrNameCapitalized, + attrType, + constantName, + usePCS + + ); + + createContainsAllChildrenMethod(output, + attrName, + attrNameCapitalized, + attrType, + constantName, + usePCS + + ); + // Change type for Multiple attribute if (attr.isOrdered()) { attrType = List.class.getName() + "<" + attrType + ">"; @@ -509,6 +527,64 @@ setOperationBody(operation, buffer.toString()); } + protected void createContainsChildMethod(ObjectModelClass output, + String attrName, + String attrNameCapitalized, + String attrType, + String constantName, + boolean usePCS) { + + ObjectModelOperation operation = addOperation( + output, + "contains" + attrNameCapitalized, + "boolean", + ObjectModelModifier.PUBLIC + ); + addParameter(operation, attrType, attrName); + StringBuilder buffer = new StringBuilder(); + buffer.append("" + /*{ + boolean contains = get<%=attrNameCapitalized%>().contains(<%=attrName%>); + }*/ + ); + + buffer.append("" + /*{ + return contains; + }*/ + ); + setOperationBody(operation, buffer.toString()); + } + + protected void createContainsAllChildrenMethod(ObjectModelClass output, + String attrName, + String attrNameCapitalized, + String attrType, + String constantName, + boolean usePCS) { + + ObjectModelOperation operation = addOperation( + output, + "containsAll" + attrNameCapitalized, + "boolean", + ObjectModelModifier.PUBLIC + ); + addParameter(operation, "java.util.Collection<" + attrType + ">", attrName); + StringBuilder buffer = new StringBuilder(); + buffer.append("" + /*{ + boolean contains = get<%=attrNameCapitalized%>().containsAll(<%=attrName%>); + }*/ + ); + + buffer.append("" + /*{ + return contains; + }*/ + ); + setOperationBody(operation, buffer.toString()); + } + protected void createSetMethod(ObjectModelClass output, String attrName, String attrNameCapitalized, @@ -537,7 +613,7 @@ this.<%=attrName%> = <%=attrName%>; }*/ ); - } + } } protected void createGetChildMethod(ObjectModelClass output) {
participants (1)
-
sletellier@users.nuiton.org