Patent Document ID: 8214811
Application ID: 11551892

Base Claim:
1. A method, in a data processing system, for instantiating an abstract class, comprising: providing mapping metadata for mapping an abstract class to a corresponding concrete class implementing the abstract class; automatically scanning through classes in the application code to identify instantiation statements; encountering an instantiation statement for the abstract class during processing of application code, wherein the instantiation statement does not specify a concrete class implementing the abstract class; and converting the encountered instantiation statement to specify the concrete class implementing the abstract class based on the mapping metadata, wherein: the mapping metadata is provided as annotations within the application code, the annotations are provided at one of a class-level, a method-level, a declaration-level, or a package-level, an annotation provided at a class-level is applied to all statements in the class, an annotation provided at a method-level is applied to only an associated method, an annotation provided at a package-level is applied to all classes in the package, and annotations at a lower level of abstraction supersede annotations at a higher level of abstraction.

---

Claim 9:
9. The method of claim 1 , wherein the encountering and converting operations are performed as part of context checking by a compiler, and wherein the converting operation comprises: checking for a concrete class mapping in a separate mapping metadata file; checking for a concrete class mapping in application source code annotations if a concrete class mapping is not found in the separate metadata file; and performing the converting operation using a concrete class mapping found in either the separate mapping metadata file or the application source code annotation.