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.tutorial.property.expressions;
17  
18  import java.net.URL;
19  
20  import de.smartics.properties.api.core.annotations.AccessType;
21  import de.smartics.properties.api.core.annotations.PropertyExpression;
22  import de.smartics.properties.api.core.annotations.PropertyLifecycle;
23  import de.smartics.properties.api.core.annotations.PropertySet;
24  import de.smartics.properties.api.core.domain.PropertyKey;
25  
26  /**
27   * A sample property set for the {@link PropertyExpressionsTutorial} it is
28   * identical to the {@link ExpressionsProperties}, but in this setup we override
29   * the default expressions to show, that URL is composed of the current property
30   * values.
31   */
32  @PropertySet(value = "tutorial.property.override")
33  public interface OverridingExpressionsProperties
34  {
35    @PropertyExpression("localhost")
36    @PropertyLifecycle(access = AccessType.READ_WRITE)
37    String host();
38  
39    PropertyKey hostPropertyKey();
40  
41    @PropertyExpression("8080")
42    int port();
43  
44    @PropertyExpression("http://${tutorial.property.override.host}:${tutorial.property.override.port}/index.html")
45    URL homePageUrl();
46  }