Patent ID: 7624401

Claim:
A computer-readable storage media having computer executable instructions, the instructions, when executed, performing a method comprising: receiving a parsable stream, in a reflection based shell, that includes an identifier associated with a command; retrieving definitional information, from a registry, based on the identifier, wherein the definitional information describes an expected parameter for the command, the command as a registered command, and a class of the identifier; reading metadata associated with the class of the identifier, wherein the metadata includes one or more directives associated with the command, wherein each directive includes error handling; creating an object based on the class indicated by the definitional information, wherein the definitional information specifies a grammar of the object; storing a parameter obtained from the parsable stream in the object in accordance with the definitional information associated with the expected parameter; applying an applicability directive to insure the class is implemented in a designated role, wherein the designated role includes a machine role or a user role; applying a processing directive on the parameter to manipulate the parameter before providing the object with the parameter to the command, the processing directive being associated with the definitional information including specific size limits for strings and for collections that can be processed; applying a documentation directive to the parameter that, when requested, generates textual information about the parameter, the documentation directive being associated with the definitional information and providing a description of correct syntax when an invalid syntax is encountered; and providing the object to the command, the object having a method invocable by the command, wherein: the definitional information and the plurality of directives are either derived from a reflection-based shell or extended by a developer of the command; the reflection-bases shell provides one or more categories of directives and one or more directives under each category of directives; and the definition information and the plurality of directives associated with a first command are different from the definition information and the plurality of directives associated with a second command.