private void addSetProperty(JDefinedClass jclass, JBlock callSite, String propertyName, JType propertyType, JVar valueVar, JsonNode node) { JMethod propertySetter = jclass.getMethod(getSetterName(propertyName, node), new JType[] { propertyType }); JConditional isInstance = callSite._if(valueVar._instanceof(propertyType.boxify().erasure())); isInstance._then() .invoke(propertySetter).arg(cast(propertyType.boxify(), valueVar)); isInstance._else() ._throw(illegalArgumentInvocation(jclass, propertyName, propertyType, valueVar)); }
body._if(otherObject._instanceof(jclass).eq(JExpr.FALSE))._then()._return(JExpr.FALSE);
private void createEqualsMethod(ClassOutline classOutline, String baseMethod) { JDefinedClass definedClass = classOutline.implClass; JMethod equals = definedClass.getMethod(METHOD_EQUALS, new JType[]{CLASS_MAP.get(Object.class)}); if (equals != null) { // removeOldCustomGeneratedEquals(classOutline, hasParentAnnotation(classOutline, PRISM_OBJECT)); todo can this be removed? equals = recreateMethod(equals, definedClass); } else { equals = definedClass.method(JMod.PUBLIC, boolean.class, METHOD_EQUALS); } equals.annotate(CLASS_MAP.get(Override.class)); JBlock body = equals.body(); JVar obj = equals.listParams()[0]; JBlock ifNull = body._if(obj._instanceof(definedClass).not())._then(); ifNull._return(JExpr.lit(false)); JVar other = body.decl(definedClass, "other", JExpr.cast(definedClass, obj)); JInvocation invocation = JExpr.invoke(baseMethod).invoke(METHOD_EQUIVALENT); invocation.arg(other.invoke(baseMethod)); body._return(invocation); }
private void addSetProperty(JDefinedClass jclass, JBlock callSite, String propertyName, JType propertyType, JVar valueVar, JsonNode node) { JMethod propertySetter = jclass.getMethod(getSetterName(propertyName, node), new JType[] { propertyType }); JConditional isInstance = callSite._if(valueVar._instanceof(propertyType.boxify().erasure())); isInstance._then() .invoke(propertySetter).arg(cast(propertyType.boxify(), valueVar)); isInstance._else() ._throw(illegalArgumentInvocation(jclass, propertyName, propertyType, valueVar)); }
/** * Creates the equals method on the supplied class. Leverages {@link org.ldaptive.LdapUtils#areEqual(Object, Object)}. * * @param clazz to put equals method on */ private void createEquals(final JDefinedClass clazz) { final JMethod equals = clazz.method(JMod.PUBLIC, boolean.class, "equals"); equals.annotate(java.lang.Override.class); final JVar o = equals.param(Object.class, "o"); final JConditional ifSame = equals.body()._if(o.eq(JExpr._this())); ifSame._then()._return(JExpr.TRUE); final JConditional ifInstance = equals.body()._if(o._instanceof(clazz)); final JVar v = ifInstance._then().decl(clazz, "v", JExpr.cast(clazz, o)); JExpression propertyComparison = null; for (Map.Entry<String, JFieldVar> entry : clazz.fields().entrySet()) { final JClass ldapUtilsClass = codeModel.ref(org.ldaptive.LdapUtils.class); final JInvocation areEqual = ldapUtilsClass.staticInvoke("areEqual"); areEqual.arg(entry.getValue()); areEqual.arg(v.ref(entry.getValue())); if (propertyComparison == null) { propertyComparison = areEqual; } else { propertyComparison = propertyComparison.cand(areEqual); } } ifInstance._then()._return(propertyComparison); equals.body()._return(JExpr.FALSE); }
public void createEquals(final JDefinedClass bean, final Iterable<JFieldVar> fields) { final JMethod method = bean.method(JMod.PUBLIC, this.codeModel.BOOLEAN, "equals"); method.annotate(java.lang.Override.class); final JVar object = method.param(_type(java.lang.Object.class.getName()), "object"); final JBlock block = method.body(); block._if(JExpr._this().eq(object))._then()._return(JExpr.TRUE); block._if(object._instanceof(bean).not())._then()._return(JExpr.FALSE); JExpression result = JExpr.TRUE; final JExpression other = block.decl(bean, "other", JExpr.cast(bean, object)); final JClass objectUtilities = _classByNames(net.anwiba.commons.lang.object.ObjectUtilities.class.getName()); for (final JFieldVar field : fields) { result = result.cand(objectUtilities.staticInvoke("equals").arg(JExpr.refthis(field.name())).arg(other.ref(field))); } block._return(result); } }
private void declareEqualsMethod(JCodeModel model, TypeInfo pair) { JDefinedClass dc = pair.implClass; JDefinedClass dci = pair.interfaceClass; JFieldRef idField = JExpr.ref("id"); JMethod method = dc.method(JMod.PUBLIC, boolean.class, "equals"); JVar param = method.param(Object.class, "other"); JBlock body = method.body(); body._if(idField.ne(JExpr._null()).cand(param._instanceof(dci))) ._then()._return(idField.invoke("equals").arg( ((JExpression)JExpr.cast(dci, param)).invoke("getId"))); body._return(JExpr._this().eq(param)); }
body._if(otherObject._instanceof(jclass).eq(JExpr.FALSE))._then()._return(JExpr.FALSE);
protected JMethod generateObject$Equals(final ClassOutline classOutline, final JDefinedClass theClass) { final JMethod objectEquals = theClass.method(JMod.PUBLIC, theClass .owner().BOOLEAN, "equals"); { final JVar object = objectEquals.param(Object.class, "object"); final JBlock body = objectEquals.body(); body._if(JOp.not(object._instanceof(theClass)))._then()._return( JExpr.FALSE); body._if(JExpr._this().eq(object))._then()._return(JExpr.TRUE); final JVar equalsBuilder = body.decl(JMod.FINAL, theClass.owner() .ref(EqualsBuilder.class), "equalsBuilder", JExpr ._new(theClass.owner().ref(getEqualsBuilderClass()))); body.invoke("equals").arg(object).arg(equalsBuilder); body._return(equalsBuilder.invoke("isEquals")); } return objectEquals; }
protected JMethod generateObject$Equals( final ClassOutline classOutline, final JDefinedClass theClass) { final JMethod objectEquals = theClass.method(JMod.PUBLIC, theClass.owner().BOOLEAN, "equals"); { final JVar object = objectEquals.param(Object.class, "object"); final JBlock body = objectEquals.body(); body._if(JOp.not(object._instanceof(theClass)))._then()._return(JExpr.FALSE); body._if(JExpr._this().eq(object))._then()._return(JExpr.TRUE); final JVar equalsBuilder = body.decl( JMod.FINAL, theClass.owner().ref(EqualsBuilder.class), "equalsBuilder", JExpr._new(theClass.owner().ref(getEqualsBuilderClass()))); body.invoke("equals").arg(object).arg(equalsBuilder); body._return(equalsBuilder.invoke("isEquals")); } return objectEquals; }
method._throws(model.ref(IOException.class)); JConditional conditional = method.body()._if(dataVar._instanceof(javaTargetClass));
effective._if( o._instanceof( clazz.implClass ) )._then().add( copyBlock );
objectNotNull._then()._if( o._instanceof( immutable ) )._then()._return( o ); objectNotNull._then()._if( o._instanceof( string ) )._then()._return( JExpr._new( string ).arg( o.invoke( "toString" ) ) ); objectNotNull._then()._if( o._instanceof( cloneable ) )._then()._return( JExpr.invoke( JExpr.cast( cloneable, o ), ( "clone" ) ) ); final JConditional instanceOfDOMElement = objectNotNull._then()._if( o._instanceof( element ) ); instanceOfDOMElement._then()._return( JExpr.cast( element, JExpr.invoke( JExpr.cast( element, o ), "cloneNode" ).arg( JExpr.TRUE ) ) ); final JConditional instanceOfElement = objectNotNull._then()._if( o._instanceof( jaxbElement ) ); instanceOfElement._then()._return( this.getCopyOfJaxbElementInvocation( clazz ). arg( JExpr.cast( jaxbElement, o ) ) ); final JConditional instanceOfSerializable = catchNoSuchMethod.body()._if( o._instanceof( serializable ) ); instanceOfSerializable._then()._return( this.getCopyOfSerializableInvocation( clazz ). arg( JExpr.cast( serializable, o ) ) );
JOp.cand(leftObject._instanceof(theClass), rightObject ._instanceof(theClass)))._then();
JExpression isInstance = outerVar._instanceof(context.toJClass(String.class)); JBlock block = conditional.addCondition(isInstance); JExpression isInstance = outerVar._instanceof(context.toJClass(itemType)); JBlock block = conditional.addCondition(isInstance); JExpression isInstance = itemVar._instanceof(context.toJClass(String.class)); JConditional conditional = block._if(isInstance);
._instanceof(theClass))); ifNotInstanceof._then().invoke(equalsBuilder, "appendSuper").arg( JExpr.FALSE);
JExpression instanceOfClass = fieldValue._instanceof(classOption); if (conditional == null) { conditional = notNull._if(instanceOfClass); JExpression instanceOfClass = elemVar._instanceof(classOption); if (conditional == null) { conditional = forEachBody._if(instanceOfClass);
final JVar equalsBuilder = equals.param(EqualsBuilder.class, "equalsBuilder"); final JConditional ifNotInstanceof = body._if(JOp.not(object._instanceof(theClass))); ifNotInstanceof._then().invoke(equalsBuilder, "appendSuper").arg(JExpr.FALSE); ifNotInstanceof._then()._return();
thenBlock._if(pojoVar._instanceof(domainType))._then().add(statement);
String message = builder.toString(); body._if(dataVar._instanceof(targetClass).not())._then()._throw( JExpr._new(validationExceptionClass).arg(JExpr.lit(message)));