PRO_LIB_CORE_TUTORIAL_R1: value-properties-templates.2.xml

File value-properties-templates.2.xml, 2.5 KB (added by peko, 16 years ago)
Line 
1<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="false" context="java" deleted="false" description="Auto Property Template" enabled="true" name="auto_property">public Prop&lt;${type}&gt; ${name}() {
2        class ${name} extends AutoProperty&lt;${type}&gt; {
3
4                @Override
5                protected ${type} compute() {
6                        ${type} res = ${cursor};
7                        return res;
8                }
9        }
10        return getBean().makeProp(${name}.class);
11}
12</template><template autoinsert="true" context="java" deleted="false" description="Auto Property template which value should be computed once and remains the same." enabled="true" name="auto_property_const">@Const
13public Prop&lt;${type}&gt; ${name}() {
14        class ${name} extends AutoProperty&lt;${type}&gt; {
15
16                @Override
17                protected ${type} compute() {
18                        assert getLastValue() == null;
19                        ${type} res = ${cursor};
20                        return res;
21                }
22        }
23        return getBean().makeProp(${name}.class);
24}
25</template><template autoinsert="false" context="java" deleted="false" description="Final property template" enabled="true" name="final_property">public Prop&lt;${type}&gt; ${name}() {
26        return getBean().makeFinalProp("${name}", ${type}.class);
27}
28</template><template autoinsert="true" context="java" deleted="false" description="Parent Property template" enabled="true" name="parent_property">public Prop&lt;${type}&gt; ${name}() {
29                return getBean().makeParentProp(${type}.class);
30        }</template><template autoinsert="true" context="java" deleted="false" description="Resource Property Template" enabled="true" name="resource_property">public Prop&lt;${type}&gt; ${name}() {
31                class ${name} extends ResourceProperty&lt;${type}&gt; {
32
33                        @Override
34                        protected ${type} create() {
35                                ${type} res = new ${type}();
36                                return res;
37                        }
38
39                        @Override
40                        protected void destroy(${type} res) {
41                                //TODO
42                        }
43
44                        @Override
45                        protected void setup(${type} res) {
46                                //TODO
47                        }
48                }
49                return getBean().makeProp(${name}.class);
50        }</template><template autoinsert="true" context="java" deleted="false" description="Value property template without init value" enabled="true" name="value_property">public RwProp&lt;${type}&gt; ${name}() {
51                return getBean().makeValueProp("${name}", ${type}.class);
52        }</template><template autoinsert="true" context="java" deleted="false" description="Value Property template with a default value" enabled="true" name="value_property_default">public RwProp&lt;${type}&gt; ${name}() {
53                return getBean().makeValueProp("${name}", ${type}.class, ${default_value});
54        }</template></templates>