A technique for combining a meta data file and Java source code to
dynamically create Java classes and JavaBeans. This technique enables
creating objects and JavaBeans in a new, more flexible manner. An approach
similar to, but different from, existing macro definition and expansion is
used. According to the present invention, placeholders for parameter
values are specified in the main source code file, and the values to be
substituted for these placeholders are contained in an auxilliary file,
referred to as a "meta file" or "meta data file". By isolating the
parameter values outside the source code file in this manner, the values
are much easier to change. The change does not affect the source code file
itself. Instead, the change is reflected in a new file created during the
expansion process. This approach enables an end-user to easily specify
objects to be created, and/or the instance data to be used for creating a
particular object (i.e. the values to be used for the parameters), without
having to know Java code syntax and without having to obtain write
permissions to the Java source code. The approach of the present invention
also allows a particular macro to be used in different ways throughout a
source code file. A particular macro name can be referenced multiple times
in the source code file, with the ability to specify substitution of a
selectable subset of the parameter values where that subset may change
from one reference to another. In addition, a macro name can be specified
multiple times in the meta file of the present invention, with parameter
values that may change from one specification to another. Optionally, a
conditional expansion feature may be used. The technique of the present
invention may be used advantageously with object-oriented languages other
than the Java programming language.
Een techniek om een dossier van metagegevens en eenvan bron Java code te combineren de klassen van Java en JavaBeans dynamisch om tot stand te brengen. Deze techniek laat het creëren van voorwerpen en JavaBeans op een nieuwe, flexibelere manier toe. Een benadering gelijkend op, maar verschillend van, wordt bestaande macrodefinitie en uitbreiding gebruikt. Volgens de onderhavige uitvinding, worden placeholders voor parameterwaarden gespecificeerd in het belangrijkste broncodedossier, en de waarden die voor deze placeholders moeten worden gesubstitueerd zijn bevat in een auxilliary dossier, dat als "metadossier" of "dossier van metagegevens" wordt bedoeld. Door de parameterwaarden buiten het broncodedossier op deze wijze te isoleren, zijn de waarden veel gemakkelijker te veranderen. De verandering beïnvloedt niet het broncodedossier zelf. In plaats daarvan, wordt de verandering in een nieuw dossier weerspiegeld dat tijdens het uitbreidingsproces wordt gecreeerd. Deze benadering laat een eindgebruiker toe om te creëren voorwerpen gemakkelijk te specificeren, en/of schrijven de instantiegegevens die voor het creëren van een bepaald voorwerp (d.w.z. de waarden die voor de parameters moeten worden gebruikt), zonder het moeten de codesyntaxis van Java kennen en zonder het moeten moeten worden gebruikt verkrijgen toestemmingen aan de van bron Java code. De benadering van de onderhavige uitvinding laat ook een bepaalde macro toe om op verschillende manieren door een broncodedossier worden gebruikt. Een bepaalde macronaam kan van verwijzingen voorzien veelvoudige tijden in het broncodedossier, met de capaciteit zijn om substitutie van een verkiesbare ondergroep van de parameterwaarden te specificeren waar die ondergroep van één verwijzing naar een andere kan veranderen. Bovendien kan een macronaam gespecificeerde veelvoudige tijden in het metadossier van de onderhavige uitvinding, met parameterwaarden zijn die van één specificatie in een andere kunnen veranderen. Naar keuze, kan een voorwaardelijke uitbreidingseigenschap worden gebruikt. De techniek van de onderhavige uitvinding kan voordelig met object-oriented talen buiten de programmeertaal van Java worden gebruikt.