1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.internal.component;
21
22 import org.apache.myfaces.tobago.util.ComponentUtils;
23
24 import javax.faces.context.FacesContext;
25 import java.io.IOException;
26
27
28
29
30 public abstract class AbstractUISection extends AbstractUICollapsiblePanel {
31
32 public abstract String getLabel();
33
34 public abstract Integer getLevel();
35
36 public abstract void setLevel(Integer level);
37
38 public abstract String getImage();
39
40 @Override
41 public void encodeBegin(final FacesContext context) throws IOException {
42 final Integer level = getLevel();
43 if (level == null) {
44 final AbstractUISection section = ComponentUtils.findAncestor(getParent(), AbstractUISection.class);
45 if (section != null) {
46 setLevel(section.getLevel() + 1);
47 } else {
48 setLevel(1);
49 }
50 } else if (level < 1) {
51 setLevel(1);
52 }
53
54 super.encodeBegin(context);
55 }
56 }