Class/interface Operation Checks

The following OOM model checks are made on class and interface operations:

Check

Description and Correction

Operation name and code uniqueness

Operation names and codes must be unique in the classifier.

Manual correction: Modify the duplicate name/code

Automatic correction: Appends a number to the duplicate name/code

Return type assignment

The return type of an operation should be defined.

Manual correction: Assign a return type to the operation

Automatic correction: Assigns a void return type to the operation

Parameter data type assignment

The data type of a parameter should be defined. Moreover, its type cannot be void.

Manual correction: Choose a valid data type for the parameter

Automatic correction: None

Abstract operation body

[classes] Abstract operations in a class cannot be implemented.

Manual correction: Remove the body or the abstract property of the operation

Automatic correction: None

Abstract operation in a non-abstract class

[classes] Abstract operations must be declared in abstract classes only.

Manual correction: Set the class to abstract, or remove the abstract property of the operation

Automatic correction: Removes the abstract property in the operation property sheet

Overloading operations signature

[classes] Overloaded operations with the same name and same parameters data type cannot have different return types in a class.

Overloading an operation refers to using the same method name but performing different operations based on different parameter number or type.

Manual correction: Change the operation name, parameter data type, or return type

Automatic correction: None

Overriding operations

[classes] When overriding a parent operation in a class, it is impossible to change its modifiers.

Overriding an operation means that an operation defined in a given class is redefined in a child class, in this case the operation of the parent class is said to be overriden.

Manual correction: Keep the same modifiers for child operation

Automatic correction: None

Enum: Constants must overload abstract method

[classes] You can give each enum constant a different behavior by declaring an abstract method in the enum type and overloading it with a concrete method for each constant. In this case, each constant must overload the abstract method.

Manual correction: Make sure each constant is associated with a concrete method that overloads the abstract method.

Automatic correction: None


Created October 7, 2009. Send feedback on this help topic to Sybase Technical Publications: pubs@sybase.com