Component Request (Buckminster)
< To: Buckminster Project
A Component Request is a pointer that specifies a component by name, category, and suitable version(s) of that component.
A component request consists of:
- name, the name of the component
- category, the category that the component is a member of
- VersionDesignator, i.e. a reference to a version, or range of versions
- VersionType, a reference to a class that can understand the VersionDesignator string.
The name of the wanted component.
The optional Component Category that the component is a member of. When supplied, the category is used as a discriminating value by the advisor nodes of the Component Query and the providers of the Resource Map.
A Version Designator is "a pointer to one, or a range of versions". As an example, a version designator for all versions from 1.2.3 inclusive to 4.5.6 inclusive is written as: [1.2.3, 4.5.6].
A Version Type is a class that is used to parse and understand a plain version; "a pointer to a specific version". More specifically, a Version Type will be asked to parse and compare the text between the delimiters in a Version Designator.
In the request you must supply the name of the Version Type that understands the plain version strings you have used in the version designator.
Name: Foobar VersionDesignator: [1.0.0,3.2.1] VersionType: OSGiVersionType
This is a request for the "Foobar" component of any version larger or equal to version 1.0.0, and smaller or equal to 3.2.1. The OSGiVersionType is supplied with Buckminster and understands a standard numbering scheme. See Version Type for more information.