Files
openide/java/java-impl/resources/com/intellij/codeInsight/generation/defaultEquals.vm
Leonid Shalupov 40795fe787 IJI-2422: community/java: move resources under resources root
GitOrigin-RevId: 8b2b63fc6db476ca0c2cfe5cadd84db6c4236d0f
2025-02-05 04:43:28 +00:00

74 lines
1.9 KiB
Plaintext

#parse("equalsHelper.vm")
public ##
#if ($checkParameterWithInstanceof)
final ##
#end
boolean equals(##
#if ($settings.generateFinalParameters)
final ##
#end
Object $paramName){
#addEqualsPrologue()
#if ($fields.size() > 0)
#addClassInstance()
return ##
#set($i = 0)
#foreach($field in $fields)
#if ($i > 0)
&& ##
#end
#set($i = $i + 1)
#if ($field.array)
#addArrayEquals($field)
#elseif ($field.primitive)
#if ($field.double || $field.float)
#addDoubleFieldComparison($field)
#else
#addPrimitiveFieldComparison($field)
#end
#elseif ($field.enum)
#addPrimitiveFieldComparison($field)
#else
#addFieldComparison($field)
#end
#end
;
#else
return true;
#end
}
##
#macro(addPrimitiveFieldComparison $field)
$field.accessor == ${classInstanceName}.$field.accessor##
#end
##
#macro(addDoubleFieldComparison $field)
#if ($field.double)
java.lang.Double.compare($field.accessor, ${classInstanceName}.$field.accessor) == 0##
#else
java.lang.Float.compare($field.accessor, ${classInstanceName}.$field.accessor) == 0##
#end
#end
##
#macro(addFieldComparison $field)
#if ($field.notNull)
${field.accessor}.equals(${classInstanceName}.$field.accessor)##
#elseif ($java_version < 7)
($field.accessor == null ? ${classInstanceName}.$field.accessor == null : ${field.accessor}.equals(${classInstanceName}.$field.accessor))##
#else
java.util.Objects.equals($field.accessor,${classInstanceName}.$field.accessor)##
#end
#end
##
#macro(addArrayEquals $field)
#if ($field.nestedArray)
#if ($java_version > 4)
java.util.Arrays.deepEquals($field.accessor, ${classInstanceName}.$field.accessor)##
#else
// Compare nested arrays - values of $field.name here
#end
#break;
#end
java.util.Arrays.equals($field.accessor, ${classInstanceName}.$field.accessor)##
#end