Package org.apache.tapestry5.internal
Class TapestryInternalUtils
java.lang.Object
org.apache.tapestry5.internal.TapestryInternalUtils
Shared utility methods used by various implementation classes.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic Mapper<Asset,
StylesheetLink> Common mapper, used primarily withFlow.map(org.apache.tapestry5.func.Mapper)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
copy
(InputStream in, OutputStream out) Copies some content from an input stream to an output stream.static String
defaultLabel
(String id, Messages messages, String propertyExpression) Looks for a label within the messages based on the id.static String
extractIdFromPropertyExpression
(String expression) Used to convert a property expression into a key that can be used to locate various resources (Blocks, messages, etc.).static Thread[]
Gathers together an array containing all the threads.static <K,
V> V getAndDeref
(Map<K, ? extends Reference<V>> map, K key) Extracts a value from a map of references.static String
getLabelForEnum
(Messages messages, Enum value) static String
getLabelForEnum
(Messages messages, String prefix, Enum value) Converts an enum to a label string, allowing for overrides from a message catalog.static boolean
isEqual
(EventContext left, EventContext right) static <T> boolean
isEqual
(T left, T right) Determines if the two values are equal.static String
Strips a dotted sequence (such as a property expression, or a qualified class name) down to the last term of that expression, by locating the last period ('.') in the string.mapFromKeysAndValues
(String... keysAndValues) mixinTypeAndOrder
(String mixinDef) static KeyValue
parseKeyValue
(String input) Parses a key/value pair where the key and the value are seperated by an equals sign.static String[]
splitAtCommas
(String value) Splits a value around commas.static String[]
static String[]
Splits a path at each slash.static String
toClassAttributeValue
(List<String> classes) Converts an list of strings into a space-separated string combining them all, suitable for use as an HTML class attribute value.static String
toFileSuffix
(String fileName) static InternalPropertyConduit
toInternalPropertyConduit
(PropertyConduit conduit) static LinkCreationListener2
toLinkCreationListener2
(LinkCreationListener delegate) static OptionModel
toOptionModel
(Object input) Converts an object to anOptionModel
.static OptionModel
toOptionModel
(String input) Converts a string to anOptionModel
.static OptionModel
toOptionModel
(Map.Entry input) Converts a map entry to anOptionModel
.static List<OptionModel>
toOptionModels
(String input) Parses a string input into a series of value=label pairs compatible withtoOptionModel(String)
.static <E> List<OptionModel>
toOptionModels
(List<E> input) Processes a list input into a series of objects compatible withtoOptionModel(Object)
.static <K,
V> List<OptionModel> toOptionModels
(Map<K, V> input) Processes a map input into a series of map entries compatible withtoOptionModel(Map.Entry)
.static SelectModel
toSelectModel
(String input) Wraps the result oftoOptionModels(String)
as aSelectModel
(with no option groups).static <E> SelectModel
toSelectModel
(List<E> input) Wraps the result oftoOptionModels(List)
as aSelectModel
(with no option groups).static <K,
V> SelectModel toSelectModel
(Map<K, V> input) Wraps the result oftoOptionModels(Map)
as aSelectModel
(with no option groups).static String
Capitalizes the string, and inserts a space before each upper case character (or sequence of upper case characters).
-
Field Details
-
assetToStylesheetLink
Common mapper, used primarily withFlow.map(org.apache.tapestry5.func.Mapper)
- Since:
- 5.2.0
-
-
Constructor Details
-
TapestryInternalUtils
public TapestryInternalUtils()
-
-
Method Details
-
toUserPresentable
Capitalizes the string, and inserts a space before each upper case character (or sequence of upper case characters). Thus "userId" becomes "User Id", etc. Also, converts underscore into space (and capitalizes the following word), thus "user_id" also becomes "User Id". -
mapFromKeysAndValues
-
toOptionModel
Converts a string to anOptionModel
. The string is of the form "value=label". If the equals sign is omitted, then the same value is used for both value and label. -
toOptionModels
Parses a string input into a series of value=label pairs compatible withtoOptionModel(String)
. Splits on commas. Ignores whitespace around commas.- Parameters:
input
- comma seperated list of terms- Returns:
- list of option models
-
toSelectModel
Wraps the result oftoOptionModels(String)
as aSelectModel
(with no option groups). See TAP5-2184 for why this ends up causing some trouble! -
toOptionModel
Converts a map entry to anOptionModel
. -
toOptionModels
Processes a map input into a series of map entries compatible withtoOptionModel(Map.Entry)
.- Parameters:
input
- map of elements- Returns:
- list of option models
-
toSelectModel
Wraps the result oftoOptionModels(Map)
as aSelectModel
(with no option groups). -
toOptionModel
Converts an object to anOptionModel
. -
toOptionModels
Processes a list input into a series of objects compatible withtoOptionModel(Object)
.- Parameters:
input
- list of elements- Returns:
- list of option models
-
toSelectModel
Wraps the result oftoOptionModels(List)
as aSelectModel
(with no option groups). -
parseKeyValue
Parses a key/value pair where the key and the value are seperated by an equals sign. The key and value are trimmed of leading and trailing whitespace, and returned as aKeyValue
. -
extractIdFromPropertyExpression
Used to convert a property expression into a key that can be used to locate various resources (Blocks, messages, etc.). Strips out any punctuation characters, leaving just words characters (letters, number and the underscore).- Parameters:
expression
- a property expression- Returns:
- the expression with punctuation removed
-
defaultLabel
Looks for a label within the messages based on the id. If found, it is used, otherwise the name is converted to a user presentable form. -
lastTerm
Strips a dotted sequence (such as a property expression, or a qualified class name) down to the last term of that expression, by locating the last period ('.') in the string. -
toClassAttributeValue
Converts an list of strings into a space-separated string combining them all, suitable for use as an HTML class attribute value.- Parameters:
classes
- classes to combine- Returns:
- the joined classes, or null if classes is empty
-
getLabelForEnum
Converts an enum to a label string, allowing for overrides from a message catalog.- As key prefix.name if present. Ex: "ElementType.LOCAL_VARIABLE"
- As key name if present, i.e., "LOCAL_VARIABLE".
- As a user-presentable version of the name, i.e., "Local Variable".
- Parameters:
messages
- the messages to search for the labelprefix
- prepended to keyvalue
- to get a label for- Returns:
- the label
-
getLabelForEnum
-
isEqual
Determines if the two values are equal. They are equal if they are the exact same value (including if they are both null). Otherwise standard equals() comparison is used.- Parameters:
left
- value to compare, possibly nullright
- value to compare, possibly null- Returns:
- true if same value, both null, or equal
-
splitPath
Splits a path at each slash. -
splitAtCommas
Splits a value around commas. Whitespace around the commas is removed, as is leading and trailing whitespace.- Since:
- 5.1.0.0
-
copy
Copies some content from an input stream to an output stream. It is the caller's responsibility to close the streams.- Parameters:
in
- source of dataout
- sink of data- Throws:
IOException
- Since:
- 5.1.0.0
-
isEqual
-
toInternalPropertyConduit
-
mixinTypeAndOrder
- Parameters:
mixinDef
- the original mixin definition.- Returns:
- an Orderable whose id is the mixin name.
-
splitMixinConstraints
-
toLinkCreationListener2
-
toFileSuffix
- Since:
- 5.3
-
getAndDeref
Extracts a value from a map of references. Handles the case where the reference does not exist, and the case where the reference itself now contains null.- Since:
- 5.3
-
getAllThreads
Gathers together an array containing all the threads.- Since:
- 5.4
-