View Javadoc
1   package org.apache.maven.index;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  /**
23   * OSGI ontology.
24   *
25   * @author Olivier Lamy
26   * @since 4.1.1
27   */
28  public interface OSGI
29  {
30  
31      /**
32       * OSGI namespace
33       */
34      String OSGI_NAMESPACE = "urn:osgi#";
35  
36      Field SYMBOLIC_NAME = new Field( null, OSGI_NAMESPACE, "symbolicName", "Bundle Symbolic Name" );
37  
38      Field VERSION = new Field( null, OSGI_NAMESPACE, "version", "Bundle Version" );
39  
40      Field EXPORT_PACKAGE = new Field( null, OSGI_NAMESPACE, "exportPackage", "Bundle Export-Package" );
41  
42      /**
43       * Export-Service has been deprecated since OSGI R4 (2005), and was never used by resolvers.  It is replaced by
44       * PROVIDE_CAPABILITY
45       *
46       * @deprecated
47       */
48      @Deprecated
49      Field EXPORT_SERVICE = new Field( null, OSGI_NAMESPACE, "exportService", "Bundle Export-Service" );
50  
51      Field DESCRIPTION = new Field( null, OSGI_NAMESPACE, "bundleDescription", "Bundle-Description" );
52  
53      Field NAME = new Field( null, OSGI_NAMESPACE, "bundleName", "Bundle-Name" );
54  
55      Field LICENSE = new Field( null, OSGI_NAMESPACE, "bundleLicense", "Bundle-License" );
56  
57      Field DOCURL = new Field( null, OSGI_NAMESPACE, "bundleDocUrl", "Bundle-DocURL" );
58  
59      Field IMPORT_PACKAGE = new Field( null, OSGI_NAMESPACE, "importPackage", "Import-Package" );
60  
61      Field REQUIRE_BUNDLE  = new Field( null, OSGI_NAMESPACE, "requireBundle", "Require-Bundle" );
62  
63      /**
64       * used by OSGI resolvers to determine which bundles / artifacts / environments, etc. can satisfy a given
65       * requirement. It replaces headers like Export-Service and Required Execution Environment, and uses the default
66       * OSGI header format
67       *
68       * @since 5.1.2
69       */
70      Field PROVIDE_CAPABILITY =
71          new Field( null, OSGI_NAMESPACE, "provideCapability", "Bundle Provide-Capability" );
72  
73      /**
74       * used by OSGI resolvers to indicate which services, features, etc are required by a given   .
75       * It replaces headers like Import-Service, and uses the default OSGI header format.
76       *
77       * @since 5.1.2
78       */
79      Field REQUIRE_CAPABILITY =
80          new Field( null, OSGI_NAMESPACE, "requireCapability", "Bundle Require-Capability" );
81  
82      /**
83       * used to hold the SHA256 checksum required as identifier for OSGI Content resources.
84       *
85       * @since 5.1.2
86       */
87      Field SHA256 = new Field( null, OSGI_NAMESPACE, "sha256", "SHA-256 checksum" );
88  
89      /**
90       * used to hold the Fragment Host header  for an OSGI Fragment bundle.
91       *
92       * @since 5.1.2
93       */
94      Field FRAGMENT_HOST = new Field( null, OSGI_NAMESPACE, "fragmentHost", "Bundle Fragment-Host" );
95  
96      /**
97       * used to hold the Fragment Host header  for an OSGI Fragment bundle.
98       *
99       * @since 5.1.2
100      */
101     Field BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT =
102         new Field( null, OSGI_NAMESPACE, "bree", "Bundle Required Execution Environment" );
103 
104 }