Skip to main content

compareTo

Short summary

This method compares a foreign object with the own one, this is needed for sort orders.

Return: SMALLER: THIS precedes in order, EQUAL: THIS and object at the same position in order, GREATER: THIS is after in order. Checkout the library CNM_ReturnTypes.

Parameters

NameTypeCommentKind
objectCNM_AbstractObject.IObjectforeign object to compareinput

Code

Declaration

METHOD compareTo :CNM_AbstractObject.CNM_ReturnTypes.ComparationResult
VAR_INPUT
(* foreign object to compare*)
object :CNM_AbstractObject.IObject;
END_VAR
VAR
node :CNM_CollectionInterfaces.IBinaryTreeNode;
compareObject :CNM_AbstractObject.IObject;
END_VAR

Implementation

compareTo := CNM_AbstractObject.CNM_ReturnTypes.ComparationResult.GREATER;
IF THIS^.isObjectValid(object) THEN
IF(__QUERYINTERFACE(object,node)) THEN
compareObject := node.object;
ELSE
compareObject := object;
END_IF

IF(THIS^.isObjectValid(THIS^.object))THEN
compareTo := THIS^.object.compareTo(compareObject);
END_IF
END_IF