OCLOperators safeCast
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

safeCast is an OCL operator that is used to safely cast an object to a subtype. It returns the object cast to the target type if the object is an instance of the target type or null otherwise.

The syntax for safeCast is as follows:

 objectName.safeCast(TargetType)   

Here, objectName is the name of the object that you want to cast to the target type and TargetType is the name of the target type that you want to cast the object to.

The safeCast operator is useful in situations where you need to cast an object to a subtype, but you are not sure if the object is actually an instance of that subtype. By using safeCast, you can avoid a runtime error that might occur if you were to use a regular cast operator.

For example, consider the following OCL code:

context Person
self.address.safeCast(USAddress).state = 'CA'

In this code, Person is a class that has an address attribute. The address attribute is of type Address, which is a superclass of USAddress. The code checks if the address object is an instance of USAddress, and if it is, it returns the state attribute of the USAddress object. If the address object is not an instance of USAddress, the safeCast operator returns null, and the code does not throw a runtime error.

Overall, the safeCast operator is a useful tool in OCL that allows you to safely cast objects to subtypes without risking runtime errors.

This page was edited 48 days ago on 02/10/2024. What links here