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.core.annotations; 17 18 /** 19 * Defines the different times the definition of a property is conducted. 20 * 21 * @see PropertyLifecycle#definitionTime() 22 */ 23 public enum PropertyDefinitionTime 24 { 25 // ****************************** Enumeration ******************************* 26 27 /** 28 * The property value is set at build time. For instance properties that 29 * are hard coded or otherwise incorporated into the binaries. 30 * <p> 31 * Properties defined at build time are not recommended, because the value of 32 * such a property can only be changed with great effort (i.e. running the 33 * build again). 34 * </p> 35 */ 36 BUILD, 37 38 /** 39 * The property value is set at packaging time. Properties are added at the 40 * time archives (e.g. EARs, JARs, or WARs) are built. 41 * <p> 42 * Properties defined at build time are not recommended, because the value of 43 * such a property can only be changed with great effort (i.e. creating the 44 * archives again). 45 * </p> 46 */ 47 PACKAGING, 48 49 /** 50 * The configuration is applied at deployment time as part of the deploy 51 * process. The information may be provided manually by the deployer or 52 * automatically fetched from a remote properties server during the deployment 53 * of an artifact to a container (e.g. application server). 54 */ 55 DEPLOYMENT, 56 57 /** 58 * The configuration is applied on start up of the application. The 59 * application may read the property values by a startup process. 60 */ 61 STARTUP, 62 63 /** 64 * The configuration can be applied at any time the application is running. 65 * This includes the situation where the application reads a property value on 66 * demand from a remote properties server. 67 */ 68 RUN; 69 70 // ********************************* Fields ********************************* 71 72 // --- constants ------------------------------------------------------------ 73 74 // --- members -------------------------------------------------------------- 75 76 // ****************************** Constructors ****************************** 77 78 // ********************************* Methods ******************************** 79 80 // --- init ----------------------------------------------------------------- 81 82 // --- get&set -------------------------------------------------------------- 83 84 // --- business ------------------------------------------------------------- 85 86 // --- object basics -------------------------------------------------------- 87 88 }