Package org.apache.tapestry5.internal

## Class TapestryInternalUtils

- java.lang.Object
- - org.apache.tapestry5.internal.TapestryInternalUtils

-     public class TapestryInternalUtils
      extends Object

  Shared utility methods used by various implementation classes.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Mapper<Asset,​StylesheetLink>` | `assetToStylesheetLink` | Common mapper, used primarily with `Flow.map(org.apache.tapestry5.func.Mapper)`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TapestryInternalUtils()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static 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[]` | `getAllThreads()` | 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` | `lastTerm​(String input)` | 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.
    `static Map<String,​String>` | `mapFromKeysAndValues​(String... keysAndValues)` |
    `static Orderable<String>` | `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[]` | `splitMixinConstraints​(String s)` |
    `static String[]` | `splitPath​(String path)` | 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 an `OptionModel`.
    `static OptionModel` | `toOptionModel​(String input)` | Converts a string to an `OptionModel`.
    `static OptionModel` | `toOptionModel​(Map.Entry input)` | Converts a map entry to an `OptionModel`.
    `static List<OptionModel>` | `toOptionModels​(String input)` | Parses a string input into a series of value=label pairs compatible with `toOptionModel(String)`.
    `static <E> List<OptionModel>` | `toOptionModels​(List<E> input)` | Processes a list input into a series of objects compatible with `toOptionModel(Object)`.
    `static <K,​V> List<OptionModel>` | `toOptionModels​(Map<K,​V> input)` | Processes a map input into a series of map entries compatible with `toOptionModel(Map.Entry)`.
    `static SelectModel` | `toSelectModel​(String input)` | Wraps the result of `toOptionModels(String)` as a `SelectModel` (with no option groups).
    `static <E> SelectModel` | `toSelectModel​(List<E> input)` | Wraps the result of `toOptionModels(List)` as a `SelectModel` (with no option groups).
    `static <K,​V> SelectModel` | `toSelectModel​(Map<K,​V> input)` | Wraps the result of `toOptionModels(Map)` as a `SelectModel` (with no option groups).
    `static String` | `toUserPresentable​(String id)` | Capitalizes the string, and inserts a space before each upper case character (or sequence of upper case characters).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### assetToStylesheetLink

          public static Mapper<Asset,​StylesheetLink> assetToStylesheetLink

      Common mapper, used primarily with `Flow.map(org.apache.tapestry5.func.Mapper)`
      Since:
        5.2.0

  - ### Constructor Detail

    - #### TapestryInternalUtils

          public TapestryInternalUtils()

  - ### Method Detail

    - #### toUserPresentable

          public static String toUserPresentable​(String id)

      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

          public static Map<String,​String> mapFromKeysAndValues​(String... keysAndValues)

    - #### toOptionModel

          public static OptionModel toOptionModel​(String input)

      Converts a string to an `OptionModel`. 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

          public static List<OptionModel> toOptionModels​(String input)

      Parses a string input into a series of value=label pairs compatible with `toOptionModel(String)`. Splits on commas. Ignores whitespace around commas.
      Parameters:
        `input` - comma seperated list of terms
      Returns:
        list of option models

    - #### toSelectModel

          public static SelectModel toSelectModel​(String input)

      Wraps the result of `toOptionModels(String)` as a `SelectModel` (with no option groups). See TAP5-2184 for why this ends up causing some trouble!

    - #### toOptionModel

          public static OptionModel toOptionModel​(Map.Entry input)

      Converts a map entry to an `OptionModel`.

    - #### toOptionModels

          public static <K,​V> List<OptionModel> toOptionModels​(Map<K,​V> input)

      Processes a map input into a series of map entries compatible with `toOptionModel(Map.Entry)`.
      Parameters:
        `input` - map of elements
      Returns:
        list of option models

    - #### toSelectModel

          public static <K,​V> SelectModel toSelectModel​(Map<K,​V> input)

      Wraps the result of `toOptionModels(Map)` as a `SelectModel` (with no option groups).

    - #### toOptionModel

          public static OptionModel toOptionModel​(Object input)

      Converts an object to an `OptionModel`.

    - #### toOptionModels

          public static <E> List<OptionModel> toOptionModels​(List<E> input)

      Processes a list input into a series of objects compatible with `toOptionModel(Object)`.
      Parameters:
        `input` - list of elements
      Returns:
        list of option models

    - #### toSelectModel

          public static <E> SelectModel toSelectModel​(List<E> input)

      Wraps the result of `toOptionModels(List)` as a `SelectModel` (with no option groups).

    - #### parseKeyValue

          public static KeyValue parseKeyValue​(String input)

      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 a `KeyValue`.

    - #### extractIdFromPropertyExpression

          public 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.). 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

          public static String defaultLabel​(String id,
                                            Messages messages,
                                            String propertyExpression)

      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

          public static String lastTerm​(String input)

      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

          public 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.
      Parameters:
        `classes` - classes to combine
      Returns:
        the joined classes, or null if classes is empty

    - #### getLabelForEnum

          public static String getLabelForEnum​(Messages messages,
                                               String prefix,
                                               Enum value)

      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 label
        `prefix` - prepended to key
        `value` - to get a label for
      Returns:
        the label

    - #### getLabelForEnum

          public static String getLabelForEnum​(Messages messages,
                                               Enum value)

    - #### isEqual

          public static <T> boolean isEqual​(T left,
                                            T right)

      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 null
        `right` - value to compare, possibly null
      Returns:
        true if same value, both null, or equal

    - #### splitPath

          public static String[] splitPath​(String path)

      Splits a path at each slash.

    - #### splitAtCommas

          public static String[] splitAtCommas​(String value)

      Splits a value around commas. Whitespace around the commas is removed, as is leading and trailing whitespace.
      Since:
        5.1.0.0

    - #### copy

          public static void copy​(InputStream in,
                                  OutputStream out)
                           throws IOException

      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 data
        `out` - sink of data
      Throws:
        `IOException`
      Since:
        5.1.0.0

    - #### isEqual

          public static boolean isEqual​(EventContext left,
                                        EventContext right)

    - #### toInternalPropertyConduit

          public static InternalPropertyConduit toInternalPropertyConduit​(PropertyConduit conduit)

    - #### mixinTypeAndOrder

          public static Orderable<String> mixinTypeAndOrder​(String mixinDef)

      Parameters:
        `mixinDef` - the original mixin definition.
      Returns:
        an Orderable whose id is the mixin name.

    - #### splitMixinConstraints

          public static String[] splitMixinConstraints​(String s)

    - #### toLinkCreationListener2

          public static LinkCreationListener2 toLinkCreationListener2​(LinkCreationListener delegate)

    - #### toFileSuffix

          public static String toFileSuffix​(String fileName)

      Since:
        5.3

    - #### getAndDeref

          public static <K,​V> V getAndDeref​(Map<K,​? extends Reference<V>> map,
                                                  K key)

      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

          public static Thread[] getAllThreads()

      Gathers together an array containing all the threads.
      Since:
        5.4