1 /*
2  * JasperReports - Free Java Reporting Library.
3  * Copyright (C) 2001 - 2019 TIBCO Software Inc. All rights reserved.
4  * http://www.jaspersoft.com
5  *
6  * Unless you have purchased a commercial license agreement from Jaspersoft,
7  * the following license terms apply:
8  *
9  * This program is part of JasperReports.
10  *
11  * JasperReports is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License as published by
13  * the Free Software Foundation, either version 3 of the License, or
14  * (at your option) any later version.
15  *
16  * JasperReports is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser General Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
23  */

24 package net.sf.jasperreports.engine.type;
25
26
27 /**
28  * @author Teodor Danciu (teodord@users.sourceforge.net)
29  */

30 public enum SplitTypeEnum implements JREnum
31 {
32     /**
33      * The band is allowed to split, but never within its declared height. 
34      * This means the band splits only when its content stretches.
35      */

36     STRETCH((byte)1, "Stretch"),
37
38     /**
39      * Prevents the band from splitting on first break attempt. 
40      * On subsequent pages/columns, the band is allowed to split, to avoid infinite loops.
41      */

42     PREVENT((byte)2, "Prevent"),
43
44     /**
45      * The band is allowed to split anywhere, as early as needed, 
46      * but not before at least one element being printed on the current page/column.
47      */

48     IMMEDIATE((byte)3, "Immediate");
49
50     /**
51      *
52      */

53     private final transient byte value;
54     private final transient String name;
55
56     private SplitTypeEnum(byte value, String name)
57     {
58         this.value = value;
59         this.name = name;
60     }
61
62     /**
63      * @deprecated Used only by deprecated serialized fields.
64      */

65     @Override
66     public Byte getValueByte()
67     {
68         return value;
69     }
70     
71     /**
72      * @deprecated Used only by deprecated serialized fields.
73      */

74     @Override
75     public final byte getValue()
76     {
77         return value;
78     }
79     
80     @Override
81     public String getName()
82     {
83         return name;
84     }
85     
86     /**
87      *
88      */

89     public static SplitTypeEnum getByName(String name)
90     {
91         return EnumUtil.getEnumByName(values(), name);
92     }
93     
94     /**
95      * @deprecated Used only by deprecated serialized fields.
96      */

97     public static SplitTypeEnum getByValue(Byte value)
98     {
99         return (SplitTypeEnum)EnumUtil.getByValue(values(), value);
100     }
101     
102     /**
103      * @deprecated Used only by deprecated serialized fields.
104      */

105     public static SplitTypeEnum getByValue(byte value)
106     {
107         return getByValue((Byte)value);
108     }
109 }
110