@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface LibraryOverride
LibraryOverrideContext
as the first parameter. The
override method may throw any checked exception declared on the original
interface method. It may additionally throw any RuntimeException
,
including LibraryOverrideException
.Only public library interface methods may be overridden. Methods which exist only on a library implementation class that are not declared in a public interface cannot be overridden.
For example, library classpaths may be overridden as follows:
@LibraryOverride(declaredBy=oracle.jdeveloper.library.JPaths.class) public URLPath getClassPath(LibraryOverrideContext context) { if ( ... ) // determine whether path should be overridden { // override the original library path return overridenPath; } // return the path from the original library return context.getOverriddenLibrary().getClassPath(); }In this example, the overridden method has no parameters, so the overriding method has only one parameter, which is the override context.
Modifier and Type | Required Element and Description |
---|---|
java.lang.Class<?> |
declaredBy
Specify the interface declaring the overridden method.
|