subschemaCopyFinal Option

The subschemaCopyFinal method option indicates that the method cannot be reimplemented in a subschema copy class. As an example, consider the following situation.

Schema A
Class C1 - method m1 - subschemaCopyFinal
    Class C2
        Class C3 - method m2 calls m1

As the developer of schema A, you may want to guarantee that when method m2 of class C3 is called, it always uses the schema A implementation of C1::m1. However, you will allow the C3 class to be subclassed and the m1 method to be reimplemented on subclasses. The following therefore applies.

Schema B - subschema of Schema A
Subschema Copy Class C1 (reimplementation of m1 not allowed on subschema                                     copy)
    Subschema Copy Class C2 (reimplementation of m1 not allowed because                                          subschemaCopyFinal)
        Subschema Copy Class C3 (reimplementation of m1 not allowed because                                          subschemaCopyFinal)
            Class C4 - reimplemented m1 allowed