@Override // HE: Remove when Lombok support for getOuter is added. public boolean equals(Object object) { if (this == object) return true; if (object == null || getClass() != object.getClass()) return false; Appender appender = (Appender) object; return typeDescription.equals(appender.typeDescription) && FieldGetter.this.equals(appender.getOuter()); }
@Override // HE: Remove when Lombok support for getOuter is added. public int hashCode() { return typeDescription.hashCode() + 31 * FieldGetter.this.hashCode(); } }
@Override public DynamicType.Builder<?> apply(DynamicType.Builder<?> builder, FieldDescription fieldDescription, Assigner assigner, MethodAccessorFactory methodAccessorFactory) { return builder.method(definedMethod(is(getterMethod))).intercept(new FieldGetter(fieldDescription, assigner, methodAccessorFactory)); } }
@Override public DynamicType.Builder<?> apply(DynamicType.Builder<?> builder, FieldDescription fieldDescription, Assigner assigner, MethodAccessorFactory methodAccessorFactory) { return builder .method(is(getterMethod)).intercept(new FieldGetter(fieldDescription, assigner, methodAccessorFactory)) .method(is(setterMethod)).intercept(fieldDescription.isFinal() ? ExceptionMethod.throwing(UnsupportedOperationException.class, "Cannot set final field " + fieldDescription) : new FieldSetter(fieldDescription, assigner, methodAccessorFactory)); } }