mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
74 lines
1.9 KiB
Plaintext
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 |