An activated policy extends policy with the logical and the actual projects with which the policy is associated. These will be the same unless the logical project extends another project in which case they can be different.
Project extension (otherwise known as project fallback) is akin to deriving a Java class from another. i.e.
A policy reference contains the project to which the policy logically belongs. Fetching the policy for that reference first looks in the logical project. If it is found there then it is returned, otherwise the base project is searched. This continues until either the policy is found or there is no base project. If the policy is not found then nothing more is done. If however it is found then the project within which it was contained is the actual project for that policy and the policy is activated.
Some of the activating involves creating runtime representations of the policy in order to enhance performance but most of it involves ensuring that the references are activated.
Activating a reference involves making sure that when the reference is resolved that it will be resolved against the logical project. This simply involves storing the logical project in the references and not the actual project.
The actual project is needed when creating the URL for a resource referenced from a Variant.
Warning: This is a facade provided for use by user code, not for implementation by user code. User implementations of this interface are highly likely to be incompatible with future releases of the product at both binary and source levels.
@mock.generate base="Policy"
|
|
|
|
|
|
|
|
|
|
|
|
|
|