Skip to content

Instantly share code, notes, and snippets.

@JonasGao
Created October 18, 2024 03:05
Show Gist options
  • Save JonasGao/f28713ce6d3a24e4681e0562d7170a0f to your computer and use it in GitHub Desktop.
Save JonasGao/f28713ce6d3a24e4681e0562d7170a0f to your computer and use it in GitHub Desktop.
#parse("equalsHelper.vm")
public boolean sameWith(##
#if ($settings.generateFinalParameters)
final ##
#end
$class.name $instanceBaseName){
return this == $instanceBaseName &&
#set($i = 0)
#foreach($field in $fields)
#if ($i > 0)
&&
#end
#set($i = $i + 1)
#if ($field.primitive)
#if ($field.double || $field.float)
#addDoubleFieldComparisonConditionDirect($field) ##
#else
#addPrimitiveFieldComparisonConditionDirect($field) ##
#end
#elseif ($field.enum)
#addPrimitiveFieldComparisonConditionDirect($field) ##
#elseif ($field.array)
java.util.Objects.deepEquals($field.accessor, ${classInstanceName}.$field.accessor)##
#else
java.util.Objects.equals($field.accessor, ${classInstanceName}.$field.accessor)##
#end
#end
;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment