001package com.hfg.css;
002
003
004import java.util.HashMap;
005import java.util.Map;
006
007//------------------------------------------------------------------------------
008/**
009 * Enumeration of valid CSS property names.
010 *
011 * @author J. Alex Taylor, hairyfatguy.com
012 */
013//------------------------------------------------------------------------------
014// com.hfg XML/HTML Coding Library
015//
016// This library is free software; you can redistribute it and/or
017// modify it under the terms of the GNU Lesser General Public
018// License as published by the Free Software Foundation; either
019// version 2.1 of the License, or (at your option) any later version.
020//
021// This library is distributed in the hope that it will be useful,
022// but WITHOUT ANY WARRANTY; without even the implied warranty of
023// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
024// Lesser General Public License for more details.
025//
026// You should have received a copy of the GNU Lesser General Public
027// License along with this library; if not, write to the Free Software
028// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
029//
030// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
031// jataylor@hairyfatguy.com
032//------------------------------------------------------------------------------
033
034
035public class CSSProperty
036{
037   private static Map<String, CSSProperty> sMap = new HashMap<String, CSSProperty>();
038
039   public static final CSSProperty align_content              = new CSSProperty(CSSLevel.CSS_3, "align-content");
040   public static final CSSProperty align_items                = new CSSProperty(CSSLevel.CSS_3, "align-items");
041   public static final CSSProperty align_self                 = new CSSProperty(CSSLevel.CSS_3, "align-self");
042   public static final CSSProperty alignment_adjust           = new CSSProperty(CSSLevel.CSS_3, "alignment-adjust");
043   public static final CSSProperty alignment_baseline         = new CSSProperty(CSSLevel.CSS_3, "alignment-baseline");
044   public static final CSSProperty all                        = new CSSProperty(CSSLevel.CSS_3, "all");
045   public static final CSSProperty anchor_point               = new CSSProperty(CSSLevel.CSS_3, "anchor-point");
046   public static final CSSProperty animation                  = new CSSProperty(CSSLevel.CSS_3, "animation");
047   public static final CSSProperty animation_delay            = new CSSProperty(CSSLevel.CSS_3, "animation-delay");
048   public static final CSSProperty animation_direction        = new CSSProperty(CSSLevel.CSS_3, "animation-direction");
049   public static final CSSProperty animation_duration         = new CSSProperty(CSSLevel.CSS_3, "animation-duration");
050   public static final CSSProperty animation_fill_mode        = new CSSProperty(CSSLevel.CSS_3, "animation-fill-mode");
051   public static final CSSProperty animation_iteration_count  = new CSSProperty(CSSLevel.CSS_3, "animation-iteration-count");
052   public static final CSSProperty animation_name             = new CSSProperty(CSSLevel.CSS_3, "animation-name");
053   public static final CSSProperty animation_play_state       = new CSSProperty(CSSLevel.CSS_3, "animation-play-state");
054   public static final CSSProperty animation_timing_function  = new CSSProperty(CSSLevel.CSS_3, "animation-timing-function");
055   public static final CSSProperty appearance                 = new CSSProperty(CSSLevel.CSS_3, "appearance");
056   public static final CSSProperty azimuth                    = new CSSProperty(CSSLevel.CSS_2, "azimuth");
057   public static final CSSProperty backface_visibility        = new CSSProperty(CSSLevel.CSS_3, "backface-visibility");
058   public static final CSSProperty background                 = new CSSProperty(CSSLevel.CSS_1, "background");
059   public static final CSSProperty background_attachment      = new CSSProperty(CSSLevel.CSS_1, "background-attachment");
060   public static final CSSProperty background_clip            = new CSSProperty(CSSLevel.CSS_3, "background-clip");
061   public static final CSSProperty background_color           = new CSSProperty(CSSLevel.CSS_1, "background-color");
062   public static final CSSProperty background_image           = new CSSProperty(CSSLevel.CSS_1, "background-image");
063   public static final CSSProperty background_origin          = new CSSProperty(CSSLevel.CSS_3, "background-origin");
064   public static final CSSProperty background_position        = new CSSProperty(CSSLevel.CSS_1, "background-position");
065   public static final CSSProperty background_repeat          = new CSSProperty(CSSLevel.CSS_1, "background-repeat");
066   public static final CSSProperty background_size            = new CSSProperty(CSSLevel.CSS_3, "background-size");
067   public static final CSSProperty baseline_shift             = new CSSProperty(CSSLevel.CSS_3, "baseline-shift");
068   public static final CSSProperty binding                    = new CSSProperty(CSSLevel.CSS_3, "binding");
069   public static final CSSProperty bleed                      = new CSSProperty(CSSLevel.CSS_3, "bleed");
070   public static final CSSProperty bookmark_label             = new CSSProperty(CSSLevel.CSS_3, "bookmark-label");
071   public static final CSSProperty bookmark_level             = new CSSProperty(CSSLevel.CSS_3, "bookmark-level");
072   public static final CSSProperty bookmark_state             = new CSSProperty(CSSLevel.CSS_3, "bookmark-state");
073   public static final CSSProperty bookmark_target            = new CSSProperty(CSSLevel.CSS_3, "bookmark-target");
074   public static final CSSProperty border                     = new CSSProperty(CSSLevel.CSS_1, "border");
075   public static final CSSProperty border_bottom              = new CSSProperty(CSSLevel.CSS_1, "border-bottom");
076   public static final CSSProperty border_bottom_color        = new CSSProperty(CSSLevel.CSS_2, "border-bottom-color");
077   public static final CSSProperty border_bottom_left_radius  = new CSSProperty(CSSLevel.CSS_3, "border-bottom-left-radius");
078   public static final CSSProperty border_bottom_right_radius = new CSSProperty(CSSLevel.CSS_3, "border-bottom-right-radius");
079   public static final CSSProperty border_bottom_style        = new CSSProperty(CSSLevel.CSS_2, "border-bottom-style");
080   public static final CSSProperty border_bottom_width        = new CSSProperty(CSSLevel.CSS_1, "border-bottom-width");
081   public static final CSSProperty border_collapse            = new CSSProperty(CSSLevel.CSS_2, "border-collapse");
082   public static final CSSProperty border_color               = new CSSProperty(CSSLevel.CSS_1, "border-color");
083   public static final CSSProperty border_image               = new CSSProperty(CSSLevel.CSS_3, "border-image");
084   public static final CSSProperty border_image_outset        = new CSSProperty(CSSLevel.CSS_3, "border-image-outset");
085   public static final CSSProperty border_image_repeat        = new CSSProperty(CSSLevel.CSS_3, "border-image-repeat");
086   public static final CSSProperty border_image_slice         = new CSSProperty(CSSLevel.CSS_3, "border-image-slice");
087   public static final CSSProperty border_image_source        = new CSSProperty(CSSLevel.CSS_3, "border-image-source");
088   public static final CSSProperty border_image_width         = new CSSProperty(CSSLevel.CSS_3, "border-image-width");
089   public static final CSSProperty border_left                = new CSSProperty(CSSLevel.CSS_1, "border-left");
090   public static final CSSProperty border_left_color          = new CSSProperty(CSSLevel.CSS_2, "border-left-color");
091   public static final CSSProperty border_left_style          = new CSSProperty(CSSLevel.CSS_2, "border-left-style");
092   public static final CSSProperty border_left_width          = new CSSProperty(CSSLevel.CSS_1, "border-left-width");
093   public static final CSSProperty border_radius              = new CSSProperty(CSSLevel.CSS_3, "border-radius");
094   public static final CSSProperty border_right               = new CSSProperty(CSSLevel.CSS_1, "border-right");
095   public static final CSSProperty border_right_color         = new CSSProperty(CSSLevel.CSS_2, "border-right-color");
096   public static final CSSProperty border_right_style         = new CSSProperty(CSSLevel.CSS_2, "border-right-style");
097   public static final CSSProperty border_right_width         = new CSSProperty(CSSLevel.CSS_1, "border-right-width");
098   public static final CSSProperty border_spacing             = new CSSProperty(CSSLevel.CSS_2, "border-spacing");
099   public static final CSSProperty border_style               = new CSSProperty(CSSLevel.CSS_1, "border-style");
100   public static final CSSProperty border_top                 = new CSSProperty(CSSLevel.CSS_1, "border-top");
101   public static final CSSProperty border_top_color           = new CSSProperty(CSSLevel.CSS_2, "border-top-color");
102   public static final CSSProperty border_top_left_radius     = new CSSProperty(CSSLevel.CSS_3, "border-top-left-radius");
103   public static final CSSProperty border_top_right_radius    = new CSSProperty(CSSLevel.CSS_3, "border-top-right-radius");
104   public static final CSSProperty border_top_style           = new CSSProperty(CSSLevel.CSS_2, "border-top-style");
105   public static final CSSProperty border_top_width           = new CSSProperty(CSSLevel.CSS_1, "border-top-width");
106   public static final CSSProperty border_width               = new CSSProperty(CSSLevel.CSS_1, "border-width");
107   public static final CSSProperty bottom                     = new CSSProperty(CSSLevel.CSS_2, "bottom");
108   public static final CSSProperty box_decoration_break       = new CSSProperty(CSSLevel.CSS_3, "box-decoration-break");
109   public static final CSSProperty box_shadow                 = new CSSProperty(CSSLevel.CSS_3, "box-shadow");
110   public static final CSSProperty box_sizing                 = new CSSProperty(CSSLevel.CSS_3, "box-sizing");
111   public static final CSSProperty break_after                = new CSSProperty(CSSLevel.CSS_3, "break-after");
112   public static final CSSProperty break_before               = new CSSProperty(CSSLevel.CSS_3, "break-before");
113   public static final CSSProperty break_inside               = new CSSProperty(CSSLevel.CSS_3, "break-inside");
114   public static final CSSProperty caption_side               = new CSSProperty(CSSLevel.CSS_2, "caption-side");
115   public static final CSSProperty clear                      = new CSSProperty(CSSLevel.CSS_1, "clear");
116   public static final CSSProperty clip                       = new CSSProperty(CSSLevel.CSS_2, "clip");
117   public static final CSSProperty color                      = new CSSProperty(CSSLevel.CSS_1, "color");
118   public static final CSSProperty color_interpolation_filters = new CSSProperty(CSSLevel.CSS_3, "color-interpolation-filters");
119   public static final CSSProperty color_profile              = new CSSProperty(CSSLevel.CSS_3, "color-profile");
120   public static final CSSProperty column_count               = new CSSProperty(CSSLevel.CSS_3, "column-count");
121   public static final CSSProperty column_fill                = new CSSProperty(CSSLevel.CSS_3, "column-fill");
122   public static final CSSProperty column_gap                 = new CSSProperty(CSSLevel.CSS_3, "column-gap");
123   public static final CSSProperty column_rule                = new CSSProperty(CSSLevel.CSS_3, "column-rule");
124   public static final CSSProperty column_rule_color          = new CSSProperty(CSSLevel.CSS_3, "column-rule-color");
125   public static final CSSProperty column_rule_style          = new CSSProperty(CSSLevel.CSS_3, "column-rule-style");
126   public static final CSSProperty column_rule_width          = new CSSProperty(CSSLevel.CSS_3, "column-rule-width");
127   public static final CSSProperty column_span                = new CSSProperty(CSSLevel.CSS_3, "column-span");
128   public static final CSSProperty column_width               = new CSSProperty(CSSLevel.CSS_3, "column-width");
129   public static final CSSProperty columns                    = new CSSProperty(CSSLevel.CSS_3, "columns");
130   public static final CSSProperty content                    = new CSSProperty(CSSLevel.CSS_2, "content");
131   public static final CSSProperty counter_increment          = new CSSProperty(CSSLevel.CSS_2, "counter-increment");
132   public static final CSSProperty counter_reset              = new CSSProperty(CSSLevel.CSS_2, "counter-reset");
133   public static final CSSProperty crop                       = new CSSProperty(CSSLevel.CSS_3, "crop");
134   public static final CSSProperty cue                        = new CSSProperty(CSSLevel.CSS_2, "cue");
135   public static final CSSProperty cue_after                  = new CSSProperty(CSSLevel.CSS_2, "cue-after");
136   public static final CSSProperty cue_before                 = new CSSProperty(CSSLevel.CSS_2, "cue-before");
137   public static final CSSProperty cursor                     = new CSSProperty(CSSLevel.CSS_2, "cursor");
138   public static final CSSProperty direction                  = new CSSProperty(CSSLevel.CSS_2, "direction");
139   public static final CSSProperty display                    = new CSSProperty(CSSLevel.CSS_1, "display");
140   public static final CSSProperty dominant_baseline          = new CSSProperty(CSSLevel.CSS_3, "dominant-baseline");
141   public static final CSSProperty drop_initial_after_adjust  = new CSSProperty(CSSLevel.CSS_3, "drop-initial-after-adjust");
142   public static final CSSProperty drop_initial_after_align   = new CSSProperty(CSSLevel.CSS_3, "drop-initial-after-align");
143   public static final CSSProperty drop_initial_before_adjust = new CSSProperty(CSSLevel.CSS_3, "drop-initial-before-align");
144   public static final CSSProperty drop_initial_before_align  = new CSSProperty(CSSLevel.CSS_3, "drop-initial-before-align");
145   public static final CSSProperty drop_initial_size          = new CSSProperty(CSSLevel.CSS_3, "drop-initial-size");
146   public static final CSSProperty drop_initial_value         = new CSSProperty(CSSLevel.CSS_3, "drop-initial-value");
147   public static final CSSProperty elevation                  = new CSSProperty(CSSLevel.CSS_2, "elevation");
148   public static final CSSProperty empty_cells                = new CSSProperty(CSSLevel.CSS_2, "empty-cells");
149   public static final CSSProperty filter                     = new CSSProperty(CSSLevel.CSS_3, "filter");
150   public static final CSSProperty fit                        = new CSSProperty(CSSLevel.CSS_3, "fit");
151   public static final CSSProperty fit_position               = new CSSProperty(CSSLevel.CSS_3, "fit-position");
152   public static final CSSProperty flex                       = new CSSProperty(CSSLevel.CSS_3, "flex");
153   public static final CSSProperty flex_basis                 = new CSSProperty(CSSLevel.CSS_3, "flex-basis");
154   public static final CSSProperty flex_direction             = new CSSProperty(CSSLevel.CSS_3, "flex-direction");
155   public static final CSSProperty flex_flow                  = new CSSProperty(CSSLevel.CSS_3, "flex-flow");
156   public static final CSSProperty flex_grow                  = new CSSProperty(CSSLevel.CSS_3, "flex-grow");
157   public static final CSSProperty flex_shrink                = new CSSProperty(CSSLevel.CSS_3, "flex-shrink");
158   public static final CSSProperty flex_wrap                  = new CSSProperty(CSSLevel.CSS_3, "flex-wrap");
159   public static final CSSProperty float_                     = new CSSProperty(CSSLevel.CSS_1, "float");
160   public static final CSSProperty float_offset               = new CSSProperty(CSSLevel.CSS_3, "float-offset");
161   public static final CSSProperty flood_color                = new CSSProperty(CSSLevel.CSS_3, "flood-color");
162   public static final CSSProperty flood_opacity              = new CSSProperty(CSSLevel.CSS_3, "flood-opacity");
163   public static final CSSProperty font                       = new CSSProperty(CSSLevel.CSS_1, "font");
164   public static final CSSProperty font_family                = new CSSProperty(CSSLevel.CSS_1, "font-family");
165   public static final CSSProperty font_feature_settings      = new CSSProperty(CSSLevel.CSS_3, "font-feature-settings");
166   public static final CSSProperty font_kerning               = new CSSProperty(CSSLevel.CSS_3, "font-kerning");
167   public static final CSSProperty font_language_override     = new CSSProperty(CSSLevel.CSS_3, "font-language-override");
168   public static final CSSProperty font_size                  = new CSSProperty(CSSLevel.CSS_1, "font-size");
169   public static final CSSProperty font_size_adjust           = new CSSProperty(CSSLevel.CSS_2, "font-size-adjust");
170   public static final CSSProperty font_stretch               = new CSSProperty(CSSLevel.CSS_2, "font-stretch");
171   public static final CSSProperty font_style                 = new CSSProperty(CSSLevel.CSS_1, "font-style");
172   public static final CSSProperty font_synthesis             = new CSSProperty(CSSLevel.CSS_3, "font-synthesis");
173   public static final CSSProperty font_variant               = new CSSProperty(CSSLevel.CSS_1, "font-variant");
174   public static final CSSProperty font_variant_alternates    = new CSSProperty(CSSLevel.CSS_3, "font-variant-alternates");
175   public static final CSSProperty font_variant_caps          = new CSSProperty(CSSLevel.CSS_3, "font-variant-caps");
176   public static final CSSProperty font_variant_east_asian    = new CSSProperty(CSSLevel.CSS_3, "font-variant-east-asian");
177   public static final CSSProperty font_variant_ligatures     = new CSSProperty(CSSLevel.CSS_3, "font-variant-ligatures");
178   public static final CSSProperty font_variant_numeric       = new CSSProperty(CSSLevel.CSS_3, "font-variant-numeric");
179   public static final CSSProperty font_variant_position      = new CSSProperty(CSSLevel.CSS_3, "font-variant-position");
180   public static final CSSProperty font_weight                = new CSSProperty(CSSLevel.CSS_1, "font-weight");
181   public static final CSSProperty grid_cell                  = new CSSProperty(CSSLevel.CSS_3, "grid-cell");
182   public static final CSSProperty grid_column                = new CSSProperty(CSSLevel.CSS_3, "grid-column");
183   public static final CSSProperty grid_column_align          = new CSSProperty(CSSLevel.CSS_3, "grid-column-align");
184   public static final CSSProperty grid_column_sizing         = new CSSProperty(CSSLevel.CSS_3, "grid-column-sizing");
185   public static final CSSProperty grid_column_span           = new CSSProperty(CSSLevel.CSS_3, "grid-column-span");
186   public static final CSSProperty grid_columns               = new CSSProperty(CSSLevel.CSS_3, "grid-columns");
187   public static final CSSProperty grid_flow                  = new CSSProperty(CSSLevel.CSS_3, "grid-flow");
188   public static final CSSProperty grid_row                   = new CSSProperty(CSSLevel.CSS_3, "grid-row");
189   public static final CSSProperty grid_row_align             = new CSSProperty(CSSLevel.CSS_3, "grid-row-align");
190   public static final CSSProperty grid_row_sizing            = new CSSProperty(CSSLevel.CSS_3, "grid-row-sizing");
191   public static final CSSProperty grid_row_span              = new CSSProperty(CSSLevel.CSS_3, "grid-row-span");
192   public static final CSSProperty grid_rows                  = new CSSProperty(CSSLevel.CSS_3, "grid-rows");
193   public static final CSSProperty grid_template              = new CSSProperty(CSSLevel.CSS_3, "grid-template");
194   public static final CSSProperty hanging_punctuation        = new CSSProperty(CSSLevel.CSS_3, "hanging-punctuation");
195   public static final CSSProperty height                     = new CSSProperty(CSSLevel.CSS_1, "height");
196   public static final CSSProperty hyphens                    = new CSSProperty(CSSLevel.CSS_3, "hyphens");
197   public static final CSSProperty icon                       = new CSSProperty(CSSLevel.CSS_3, "icon");
198   public static final CSSProperty image_orientation          = new CSSProperty(CSSLevel.CSS_3, "image-orientation");
199   public static final CSSProperty image_rendering            = new CSSProperty(CSSLevel.CSS_3, "image-rendering");
200   public static final CSSProperty image_resolution           = new CSSProperty(CSSLevel.CSS_3, "image-resolution");
201   public static final CSSProperty ime_mode                   = new CSSProperty(CSSLevel.CSS_3, "ime-mode");
202   public static final CSSProperty inline_box_align           = new CSSProperty(CSSLevel.CSS_3, "inline-box-align");
203   public static final CSSProperty justify_content            = new CSSProperty(CSSLevel.CSS_3, "justify-content");
204   public static final CSSProperty left                       = new CSSProperty(CSSLevel.CSS_2, "left");
205   public static final CSSProperty letter_spacing             = new CSSProperty(CSSLevel.CSS_1, "letter-spacing");
206   public static final CSSProperty lighting_color             = new CSSProperty(CSSLevel.CSS_3, "lighting-color");
207   public static final CSSProperty line_break                 = new CSSProperty(CSSLevel.CSS_3, "line-break");
208   public static final CSSProperty line_height                = new CSSProperty(CSSLevel.CSS_1, "line-height");
209   public static final CSSProperty line_stacking              = new CSSProperty(CSSLevel.CSS_3, "line-stacking");
210   public static final CSSProperty line_stacking_ruby         = new CSSProperty(CSSLevel.CSS_3, "line-stacking-ruby");
211   public static final CSSProperty line_stacking_shift        = new CSSProperty(CSSLevel.CSS_3, "line-stacking-shift");
212   public static final CSSProperty line_stacking_strategy     = new CSSProperty(CSSLevel.CSS_3, "line-stacking-strategy");
213   public static final CSSProperty list_style                 = new CSSProperty(CSSLevel.CSS_1, "list-style");
214   public static final CSSProperty list_style_image           = new CSSProperty(CSSLevel.CSS_1, "list-style-image");
215   public static final CSSProperty list_style_position        = new CSSProperty(CSSLevel.CSS_1, "list-style-position");
216   public static final CSSProperty list_style_type            = new CSSProperty(CSSLevel.CSS_1, "list-style-type");
217   public static final CSSProperty margin                     = new CSSProperty(CSSLevel.CSS_1, "margin");
218   public static final CSSProperty margin_bottom              = new CSSProperty(CSSLevel.CSS_1, "margin-bottom");
219   public static final CSSProperty margin_left                = new CSSProperty(CSSLevel.CSS_1, "margin-left");
220   public static final CSSProperty margin_right               = new CSSProperty(CSSLevel.CSS_1, "margin-right");
221   public static final CSSProperty margin_top                 = new CSSProperty(CSSLevel.CSS_1, "margin-top");
222   public static final CSSProperty marker_offset              = new CSSProperty(CSSLevel.CSS_2, "marker-offset");
223   public static final CSSProperty marks                      = new CSSProperty(CSSLevel.CSS_2, "marks");
224   public static final CSSProperty marquee_direction          = new CSSProperty(CSSLevel.CSS_3, "marquee-direction");
225   public static final CSSProperty marquee_loop               = new CSSProperty(CSSLevel.CSS_3, "marquee-loop");
226   public static final CSSProperty marquee_play_count         = new CSSProperty(CSSLevel.CSS_3, "marquee-play-count");
227   public static final CSSProperty marquee_speed              = new CSSProperty(CSSLevel.CSS_3, "marquee-speed");
228   public static final CSSProperty marquee_style              = new CSSProperty(CSSLevel.CSS_3, "marquee-style");
229   public static final CSSProperty max_height                 = new CSSProperty(CSSLevel.CSS_2, "max-height");
230   public static final CSSProperty max_lines                  = new CSSProperty(CSSLevel.CSS_3, "max-lines");
231   public static final CSSProperty max_width                  = new CSSProperty(CSSLevel.CSS_2, "max-width");
232   public static final CSSProperty min_height                 = new CSSProperty(CSSLevel.CSS_2, "min-height");
233   public static final CSSProperty min_width                  = new CSSProperty(CSSLevel.CSS_2, "min-width");
234   public static final CSSProperty move_to                    = new CSSProperty(CSSLevel.CSS_3, "move-to");
235   public static final CSSProperty nav_down                   = new CSSProperty(CSSLevel.CSS_3, "nav-down");
236   public static final CSSProperty nav_index                  = new CSSProperty(CSSLevel.CSS_3, "nav-index");
237   public static final CSSProperty nav_left                   = new CSSProperty(CSSLevel.CSS_3, "nav-left");
238   public static final CSSProperty nav_right                  = new CSSProperty(CSSLevel.CSS_3, "nav-right");
239   public static final CSSProperty nav_up                     = new CSSProperty(CSSLevel.CSS_3, "nav-up");
240   public static final CSSProperty opacity                    = new CSSProperty(CSSLevel.CSS_3, "opacity");
241   public static final CSSProperty order                      = new CSSProperty(CSSLevel.CSS_3, "order");
242   public static final CSSProperty orphans                    = new CSSProperty(CSSLevel.CSS_2, "orphans");
243   public static final CSSProperty outline                    = new CSSProperty(CSSLevel.CSS_2, "outline");
244   public static final CSSProperty outline_color              = new CSSProperty(CSSLevel.CSS_2, "outline-color");
245   public static final CSSProperty outline_offset             = new CSSProperty(CSSLevel.CSS_3, "outline-offset");
246   public static final CSSProperty outline_style              = new CSSProperty(CSSLevel.CSS_2, "outline-style");
247   public static final CSSProperty outline_width              = new CSSProperty(CSSLevel.CSS_2, "outline-width");
248   public static final CSSProperty overflow                   = new CSSProperty(CSSLevel.CSS_2, "overflow");
249   public static final CSSProperty overflow_style             = new CSSProperty(CSSLevel.CSS_3, "overflow-style");
250   public static final CSSProperty overflow_wrap              = new CSSProperty(CSSLevel.CSS_3, "overflow-wrap");
251   public static final CSSProperty overflow_x                 = new CSSProperty(CSSLevel.CSS_3, "overflow-x");
252   public static final CSSProperty overflow_y                 = new CSSProperty(CSSLevel.CSS_3, "overflow-y");
253   public static final CSSProperty padding                    = new CSSProperty(CSSLevel.CSS_1, "padding");
254   public static final CSSProperty padding_bottom             = new CSSProperty(CSSLevel.CSS_1, "padding-bottom");
255   public static final CSSProperty padding_left               = new CSSProperty(CSSLevel.CSS_1, "padding-left");
256   public static final CSSProperty padding_right              = new CSSProperty(CSSLevel.CSS_1, "padding-right");
257   public static final CSSProperty padding_top                = new CSSProperty(CSSLevel.CSS_1, "padding-top");
258   public static final CSSProperty page                       = new CSSProperty(CSSLevel.CSS_2, "page");
259   public static final CSSProperty page_break_after           = new CSSProperty(CSSLevel.CSS_2, "page-break-after");
260   public static final CSSProperty page_break_before          = new CSSProperty(CSSLevel.CSS_2, "page-break-before");
261   public static final CSSProperty page_break_inside          = new CSSProperty(CSSLevel.CSS_2, "page-break-inside");
262   public static final CSSProperty page_policy                = new CSSProperty(CSSLevel.CSS_3, "page-policy");
263   public static final CSSProperty pause                      = new CSSProperty(CSSLevel.CSS_2, "pause");
264   public static final CSSProperty pause_after                = new CSSProperty(CSSLevel.CSS_2, "pause-after");
265   public static final CSSProperty pause_before               = new CSSProperty(CSSLevel.CSS_2, "pause-before");
266   public static final CSSProperty perspective                = new CSSProperty(CSSLevel.CSS_3, "perspective");
267   public static final CSSProperty perspective_origin         = new CSSProperty(CSSLevel.CSS_3, "perspective-origin");
268   public static final CSSProperty pitch                      = new CSSProperty(CSSLevel.CSS_2, "pitch");
269   public static final CSSProperty pitch_range                = new CSSProperty(CSSLevel.CSS_2, "pitch-range");
270   public static final CSSProperty play_during                = new CSSProperty(CSSLevel.CSS_2, "play-during");
271   public static final CSSProperty position                   = new CSSProperty(CSSLevel.CSS_2, "position");
272   public static final CSSProperty presentation_level         = new CSSProperty(CSSLevel.CSS_3, "presentation-level");
273   public static final CSSProperty punctuation_trim           = new CSSProperty(CSSLevel.CSS_3, "punctuation-trim");
274   public static final CSSProperty quotes                     = new CSSProperty(CSSLevel.CSS_2, "quotes");
275   public static final CSSProperty rendering_intent           = new CSSProperty(CSSLevel.CSS_3, "rendering-intent");
276   public static final CSSProperty resize                     = new CSSProperty(CSSLevel.CSS_3, "resize");
277   public static final CSSProperty rest                       = new CSSProperty(CSSLevel.CSS_3, "rest");
278   public static final CSSProperty rest_after                 = new CSSProperty(CSSLevel.CSS_3, "rest-after");
279   public static final CSSProperty rest_before                = new CSSProperty(CSSLevel.CSS_3, "rest-before");
280   public static final CSSProperty richness                   = new CSSProperty(CSSLevel.CSS_2, "richness");
281   public static final CSSProperty right                      = new CSSProperty(CSSLevel.CSS_2, "right");
282   public static final CSSProperty rotation                   = new CSSProperty(CSSLevel.CSS_3, "rotation");
283   public static final CSSProperty rotation_point             = new CSSProperty(CSSLevel.CSS_3, "rotation-point");
284   public static final CSSProperty ruby_align                 = new CSSProperty(CSSLevel.CSS_3, "ruby-align");
285   public static final CSSProperty ruby_overhang              = new CSSProperty(CSSLevel.CSS_3, "ruby-overhang");
286   public static final CSSProperty ruby_position              = new CSSProperty(CSSLevel.CSS_3, "ruby-position");
287   public static final CSSProperty ruby_span                  = new CSSProperty(CSSLevel.CSS_3, "ruby-span");
288   public static final CSSProperty size                       = new CSSProperty(CSSLevel.CSS_2, "size");
289   public static final CSSProperty speak                      = new CSSProperty(CSSLevel.CSS_2, "speak");
290   public static final CSSProperty speak_as                   = new CSSProperty(CSSLevel.CSS_3, "speak-as");
291   public static final CSSProperty speak_header               = new CSSProperty(CSSLevel.CSS_2, "speak-header");
292   public static final CSSProperty speak_numeral              = new CSSProperty(CSSLevel.CSS_2, "speak-numeral");
293   public static final CSSProperty speak_punctuation          = new CSSProperty(CSSLevel.CSS_2, "speak-punctuation");
294   public static final CSSProperty speech_rate                = new CSSProperty(CSSLevel.CSS_2, "speech-rate");
295   public static final CSSProperty stress                     = new CSSProperty(CSSLevel.CSS_2, "stress");
296   public static final CSSProperty string_set                 = new CSSProperty(CSSLevel.CSS_3, "string-set");
297   public static final CSSProperty tab_size                   = new CSSProperty(CSSLevel.CSS_3, "tab-size");
298   public static final CSSProperty table_layout               = new CSSProperty(CSSLevel.CSS_2, "table-layout");
299   public static final CSSProperty target                     = new CSSProperty(CSSLevel.CSS_3, "target");
300   public static final CSSProperty target_name                = new CSSProperty(CSSLevel.CSS_3, "target-name");
301   public static final CSSProperty target_new                 = new CSSProperty(CSSLevel.CSS_3, "target-new");
302   public static final CSSProperty target_position            = new CSSProperty(CSSLevel.CSS_3, "target-position");
303   public static final CSSProperty text_align                 = new CSSProperty(CSSLevel.CSS_1, "text-align");
304   public static final CSSProperty text_align_last            = new CSSProperty(CSSLevel.CSS_3, "text-align-last");
305   public static final CSSProperty text_combine_horizontal    = new CSSProperty(CSSLevel.CSS_3, "text-combine-horizontal");
306   public static final CSSProperty text_decoration            = new CSSProperty(CSSLevel.CSS_1, "text-decoration");
307   public static final CSSProperty text_decoration_color      = new CSSProperty(CSSLevel.CSS_3, "text-decoration-color");
308   public static final CSSProperty text_decoration_line       = new CSSProperty(CSSLevel.CSS_3, "text-decoration-line");
309   public static final CSSProperty text_decoration_skip       = new CSSProperty(CSSLevel.CSS_3, "text-decoration-skip");
310   public static final CSSProperty text_decoration_style      = new CSSProperty(CSSLevel.CSS_3, "text-decoration-style");
311   public static final CSSProperty text_emphasis              = new CSSProperty(CSSLevel.CSS_3, "text-emphasis");
312   public static final CSSProperty text_emphasis_color        = new CSSProperty(CSSLevel.CSS_3, "text-emphasis-color");
313   public static final CSSProperty text_emphasis_position     = new CSSProperty(CSSLevel.CSS_3, "text-emphasis-position");
314   public static final CSSProperty text_emphasis_style        = new CSSProperty(CSSLevel.CSS_3, "text-emphasis-style");
315   public static final CSSProperty text_height                = new CSSProperty(CSSLevel.CSS_3, "text-height");
316   public static final CSSProperty text_indent                = new CSSProperty(CSSLevel.CSS_1, "text-indent");
317   public static final CSSProperty text_justify               = new CSSProperty(CSSLevel.CSS_3, "text-justify");
318   public static final CSSProperty text_orientation           = new CSSProperty(CSSLevel.CSS_3, "text-orientation");
319   public static final CSSProperty text_outline               = new CSSProperty(CSSLevel.CSS_3, "text-outline");
320   public static final CSSProperty text_overflow              = new CSSProperty(CSSLevel.CSS_3, "text-overflow");
321   public static final CSSProperty text_shadow                = new CSSProperty(CSSLevel.CSS_2, "text-shadow");
322   public static final CSSProperty text_space_collapse        = new CSSProperty(CSSLevel.CSS_3, "text-space-collapse");
323   public static final CSSProperty text_transform             = new CSSProperty(CSSLevel.CSS_1, "text-transform");
324   public static final CSSProperty text_underline_position    = new CSSProperty(CSSLevel.CSS_3, "text-underline-position");
325   public static final CSSProperty text_wrap                  = new CSSProperty(CSSLevel.CSS_3, "text-wrap");
326   public static final CSSProperty top                        = new CSSProperty(CSSLevel.CSS_2, "top");
327   public static final CSSProperty transform                  = new CSSProperty(CSSLevel.CSS_3, "transform");
328   public static final CSSProperty transform_origin           = new CSSProperty(CSSLevel.CSS_3, "transform-origin");
329   public static final CSSProperty transform_style            = new CSSProperty(CSSLevel.CSS_3, "transform-style");
330   public static final CSSProperty transition                 = new CSSProperty(CSSLevel.CSS_3, "transition");
331   public static final CSSProperty transition_delay           = new CSSProperty(CSSLevel.CSS_3, "transition-delay");
332   public static final CSSProperty transition_duration        = new CSSProperty(CSSLevel.CSS_3, "transition-duration");
333   public static final CSSProperty transition_property        = new CSSProperty(CSSLevel.CSS_3, "transition-property");
334   public static final CSSProperty transition_timing_function = new CSSProperty(CSSLevel.CSS_3, "transition-timing-function");
335   public static final CSSProperty unicode_bidi               = new CSSProperty(CSSLevel.CSS_2, "unicode-bidi");
336   public static final CSSProperty vertical_align             = new CSSProperty(CSSLevel.CSS_1, "vertical-align");
337   public static final CSSProperty visibility                 = new CSSProperty(CSSLevel.CSS_2, "visibility");
338   public static final CSSProperty voice_balance              = new CSSProperty(CSSLevel.CSS_3, "voice-balance");
339   public static final CSSProperty voice_duration             = new CSSProperty(CSSLevel.CSS_3, "voice-duration");
340   public static final CSSProperty voice_family               = new CSSProperty(CSSLevel.CSS_2, "voice-family");
341   public static final CSSProperty voice_pitch                = new CSSProperty(CSSLevel.CSS_3, "voice-pitch");
342   public static final CSSProperty voice_range                = new CSSProperty(CSSLevel.CSS_3, "voice-range");
343   public static final CSSProperty voice_rate                 = new CSSProperty(CSSLevel.CSS_3, "voice-rate");
344   public static final CSSProperty voice_stress               = new CSSProperty(CSSLevel.CSS_3, "voice-stress");
345   public static final CSSProperty voice_volume               = new CSSProperty(CSSLevel.CSS_3, "voice-volume");
346   public static final CSSProperty volume                     = new CSSProperty(CSSLevel.CSS_2, "volume");
347   public static final CSSProperty white_space                = new CSSProperty(CSSLevel.CSS_1, "white-space");
348   public static final CSSProperty widows                     = new CSSProperty(CSSLevel.CSS_2, "widows");
349   public static final CSSProperty width                      = new CSSProperty(CSSLevel.CSS_1, "width");
350   public static final CSSProperty word_break                 = new CSSProperty(CSSLevel.CSS_3, "word-break");
351   public static final CSSProperty word_spacing               = new CSSProperty(CSSLevel.CSS_1, "word-spacing");
352   public static final CSSProperty word_wrap                  = new CSSProperty(CSSLevel.CSS_3, "word-wrap");
353   public static final CSSProperty writing_mode               = new CSSProperty(CSSLevel.CSS_3, "writing-mode");
354   public static final CSSProperty z_index                    = new CSSProperty(CSSLevel.CSS_2, "z-index");
355
356
357
358
359
360
361
362
363   private String   mName;
364   private CSSLevel mLevel;
365
366   //--------------------------------------------------------------------------
367   private CSSProperty(CSSLevel inLevel, String inName)
368   {
369      mLevel = inLevel;
370      mName  = inName;
371
372      sMap.put(mName, this);
373   }
374
375
376   //--------------------------------------------------------------------------
377   public static CSSProperty valueOf(String inName)
378   {
379      String name = inName.trim().toLowerCase();
380      CSSProperty property = sMap.get(name);
381      // Don't be strict. Create a new property if we can't find a match.
382      if (null == property)
383      {
384         property = new CSSProperty(null, name);
385      }
386
387      return property;
388   }
389
390   //--------------------------------------------------------------------------
391   @Override
392   public String toString()
393   {
394      return name();
395   }
396
397   //--------------------------------------------------------------------------
398   public String name()
399   {
400      return mName;
401   }
402
403   //--------------------------------------------------------------------------
404   public CSSLevel getCSSLevel()
405   {
406      return mLevel;
407   }
408}