001// Licensed under the Apache License, Version 2.0 (the "License"); 002// you may not use this file except in compliance with the License. 003// You may obtain a copy of the License at 004// 005// http://www.apache.org/licenses/LICENSE-2.0 006// 007// Unless required by applicable law or agreed to in writing, software 008// distributed under the License is distributed on an "AS IS" BASIS, 009// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 010// See the License for the specific language governing permissions and 011// limitations under the License. 012 013package org.apache.tapestry5.services.compatibility; 014 015import org.apache.tapestry5.SymbolConstants; 016 017/** 018 * Defines different traits that may be enabled or disabled. This was introduced in Tapestry 5.4 to allow certain 019 * features that exist in Tapestry 5.3 to be optionally enabled for compatibility. 020 */ 021public enum Trait 022{ 023 /** 024 * Indicates that the Scriptaculous JavaScript libraries should be included. Tapestry 5.3 includes options for performing 025 * some kinds of animations when certain elements were updated or removed; that is no longer present in Tapestry 5.4 026 * and Scriptaculous is not used. This trait is only used if the 027 * {@linkplain SymbolConstants#JAVASCRIPT_INFRASTRUCTURE_PROVIDER JavaScript infrastructure provider} 028 * is set to "prototype". 029 */ 030 SCRIPTACULOUS, 031 032 /** 033 * Support for Tapestry 5.3 style initializers (the client-side {@code T5.initializers} namespace). 034 */ 035 INITIALIZERS, 036 037 /** 038 * Indicates that Twitter Bootstrap 3 CSS and JavaScript should be included in all pages by default. 039 * @see <a href="https://getbootstrap.com/">Bootstrap site</a> 040 * @since 5.5 041 */ 042 BOOTSTRAP_3, 043 044 /** 045 * Indicates that Twitter Bootstrap 4 CSS and JavaScript should be included in all pages by default. 046 * @see <a href="https://getbootstrap.com/">Bootstrap site</a> 047 * @since 5.5 048 */ 049 BOOTSTRAP_4, 050 051}