PRO_LIB_CORE_TUTORIAL_R1: list-properties-templates.xml

File list-properties-templates.xml, 3.4 KB (added by peko, 16 years ago)
Line 
1<?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="true" context="java" deleted="false" description="Auto List Property template using a ComposingProList" enabled="true" name="auto_list_property_composing">      public ListProp&lt;${type}&gt; ${name}() {
2                class ${name} extends AutoListProperty&lt;${type}&gt; {
3
4                        @Override
5                        protected ProList&lt;${type}&gt; constructList() {
6                                return new ComposingProList&lt;${type}&gt;() {
7                               
8                                        @Override
9                                        protected List&lt;? extends ${type}&gt; computeData() {
10                                                List&lt;${type}&gt; data = new ArrayList&lt;${type}&gt;();
11                                               
12                                                //TODO fill in the list or create a new one.
13
14                                                return null;
15                                        }
16                                };
17                        }
18                }
19                return getBean().makeProp(${name}.class);
20        }</template><template autoinsert="true" context="java" deleted="false" description="Auto List Property template with a TrackingProList" enabled="true" name="auto_list_property_tracking">      public ListProp&lt;${type}&gt; ${name}() {
21                class ${name} extends AutoListProperty&lt;${type}&gt; {
22
23                        @Override
24                        protected ProList&lt;${type}&gt; constructList() {
25                                return new TrackingProList&lt;${type}&gt;() {
26
27                                                @Override
28                                                protected ProList&lt;${type}&gt; computeSource() {
29                                                        //TODO return the proper ProList
30                                                        return null;
31                                                }
32                                };
33                        }
34                }
35                return getBean().makeProp(${name}.class);
36        }</template><template autoinsert="true" context="java" deleted="false" description="Auto List Property template with a TrackingProList that uses a FilteringProList" enabled="true" name="auto_list_property_tracking_filtering">       public ListProp&lt;${type}&gt; ${name}() {
37                class ${name} extends AutoListProperty&lt;${type}&gt; {
38
39                        @Override
40                        protected ProList&lt;${type}&gt; constructList() {
41                                return new TrackingProList&lt;${type}&gt;() {
42
43                                                        @Override
44                                                        protected ProList&lt;${type}&gt; computeSource() {
45                                                                //TODO provide the source ProList.
46                                                                return null;
47                                                        }
48                                                       
49                                                }.filter(new ProListFilter&lt;${type}&gt;() {
50
51                                                        @Override
52                                                        public boolean accepts(${type} item) {
53                                                                //TODO define a rule to accept items
54                                                                //from the source list.
55                                                                return false;
56                                                        }
57                                                       
58                                                });
59                        }
60                }
61                return getBean().makeProp(${name}.class);
62        }</template><template autoinsert="true" context="java" deleted="false" description="Auto List Property template with a TrackingProList that uses a TranformingProList" enabled="true" name="auto_list_property_tracking_transforming">  public ListProp&lt;${targetType}&gt; ${name}() {
63                class ${name} extends AutoListProperty&lt;${targetType}&gt; {
64
65                        @Override
66                        protected ProList&lt;${targetType}&gt; constructList() {
67                                return new TrackingProList&lt;${sourceType}&gt;() {
68                                                @Override
69                                                protected ProList&lt;? extends ${sourceType}&gt; computeSource() {
70                                                        //TODO provide the source list
71                                                        return null;
72                                                }
73                                        }.transform(new ProListTransformer&lt;${sourceType}, ${targetType}&gt;() {
74                                                @Override
75                                                public ${targetType} translate(${sourceType} source) {
76                                                        //TODO implement a single transformation
77                                                        //from source to target
78                                                        return null;
79                                                }
80                                        });
81                        }
82                }
83                return getBean().makeProp(${name}.class);
84        }</template><template autoinsert="true" context="java" deleted="false" description="Value List Property Template" enabled="true" name="value_list_property">public RwListProp&lt;${type}&gt; ${name}() {
85                return getBean().makeListProp("${name}", ${type}.class);
86        }</template></templates>