View Javadoc

1   /*
2    * Copyright 2012-2013 smartics, Kronseder & Reiner GmbH
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package de.smartics.properties.api.config.app;
17  
18  import java.net.URL;
19  import java.util.List;
20  
21  import de.smartics.properties.api.core.annotations.PropertyElementType;
22  import de.smartics.properties.api.core.annotations.PropertySet;
23  
24  /**
25   * Provides configuration properties for the library loaded at boot time before
26   * any other properties are loaded.
27   *
28   * @impl Please note that some properties have to be accessed from the core
29   *       layer. See
30   *       {@link de.smartics.properties.api.core.config.BootPropertiesProvider}.
31   */
32  @PropertySet("smartics.properties")
33  public interface BootProperties
34  {
35    /**
36     * A list of optional additional locations of properties files that are taken
37     * into account.
38     *
39     * @return optional additional locations.
40     */
41    @PropertyElementType(URL.class)
42    List<URL> additionalPropertiesLocations();
43  
44    /**
45     * The name of an optional boot configuration stored in the extension
46     * configuration found in the JNDI context. If this property is specified,
47     * additional boot properties for the configuration of the property
48     * configuration infrastructure are loaded.
49     *
50     * @return optional configuration JNDI name.
51     */
52    String bootConfigurationName();
53  }