| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <html> |
| <head> |
| </head> |
| <body> |
| <p> |
| This packages gathers classes used to represent identifiers of objects involved in dependency management. |
| </p> |
| <p> |
| As identifiers, they do not store any information on the module content and detailed metadata (like dependencies). |
| </p> |
| <h2>Classes</h2> |
| <dl> |
| <dt>ModuleId</dt><dd>is used as the identifier of module, without considering its version. It's basically an organization and module name couple.</dd> |
| <dt>ModuleRevisionId</dt><dd>is used as the identifier of a module in a particular version or version constraint. It is composed of a ModuleId, a revision, and optionally a branch and extra attributes.</dd> |
| <dt>ArtifactId</dt><dd>identifies an artifact without considering its version. It's basically a ModuleId and an artifact name, type and extension, plus optional extra attributes.</dd> |
| <dt>ArtifactRevisionId</dt><dd>identifies an artifact of a module in a particular version. It is composed of a ModuleRevisionId along with artifact identifier like the name type and extension.</dd> |
| </dl> |
| <h2>Text Representation</h2> |
| <p> |
| These classes share an homogeneous text representation, which can be easily obtained through the toString() method. |
| </p> |
| <p> |
| The general pattern is: <code>[organisation]#[module]#[branch];[revision]![artifact].[ext]([type])</code> |
| The # before the branch is present only if the branch is not empty.<br/> |
| The type and surrounding parenthesis are present only if different from the extension. |
| </p> |
| <p> |
| A textual representation can be parsed into an object (supported for ModuleRevisionId only yet), as long as a strict set of characters is used for each field (which is recommended). |
| </p> |
| Allowed characters are: |
| <dl> |
| <dt>organisation</dt><dd><code>a-z A-Z 0-9 - / . _ + =</code></dd> |
| <dt>module</dt><dd><code>a-z A-Z 0-9 - / . _ + =</code></dd> |
| <dt>branch</dt><dd><code>a-z A-Z 0-9 - / . _ + =</code></dd> |
| <dt>revision</dt><dd><code>a-z A-Z 0-9 - / . _ + = , [ ] { } ( ) : @</code></dd> |
| <dt>artifact</dt><dd><code>a-z A-Z 0-9 - / . _ + =</code></dd> |
| <dt>extension</dt><dd><code>a-z A-Z 0-9 - / . _ + =</code></dd> |
| <dt>type</dt><dd><code>a-z A-Z 0-9 - / . _ + =</code></dd> |
| </dl> |
| |
| </body> |