Package org.springframework.expression.spel.ast

# Class Operator.DescriptorComparison

java.lang.Object
org.springframework.expression.spel.ast.Operator.DescriptorComparison

Enclosing class:
  Operator

protected static final class Operator.DescriptorComparison extends Object
A descriptor comparison encapsulates the result of comparing descriptor for two operands and describes at what level they are compatible.

## Method Summary

Modifier and Type
Method
Description
`static Operator.DescriptorComparison`
`checkNumericCompatibility(String leftDeclaredDescriptor, String rightDeclaredDescriptor, String leftActualDescriptor, String rightActualDescriptor)`
Return an object that indicates whether the input descriptors are compatible.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### checkNumericCompatibility

public static Operator.DescriptorComparison checkNumericCompatibility(@Nullable String leftDeclaredDescriptor, @Nullable String rightDeclaredDescriptor, @Nullable String leftActualDescriptor, @Nullable String rightActualDescriptor)
Return an object that indicates whether the input descriptors are compatible.

A declared descriptor is what could statically be determined (for example, from looking at the return value of a property accessor method) whilst an actual descriptor is the type of an actual object that was returned, which may differ.

For generic types with unbound type variables, the declared descriptor discovered may be 'Object' but from the actual descriptor it is possible to observe that the objects are really numeric values (for example, ints).

Parameters:
  `leftDeclaredDescriptor` - the statically determinable left descriptor
  `rightDeclaredDescriptor` - the statically determinable right descriptor
  `leftActualDescriptor` - the dynamic/runtime left object descriptor
  `rightActualDescriptor` - the dynamic/runtime right object descriptor
Returns:
  a DescriptorComparison object indicating the type of compatibility, if any