# Class ConstraintParser

java.lang.Object
com.codename1.ui.layouts.mig.ConstraintParser

public final class ConstraintParser extends Object
Parses string constraints.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static BoundSize`
  `parseBoundSize(String s, boolean isGap, boolean isHor)`
  Parses a single "min:pref:max" value.
  `static AC`
  `parseColumnConstraints(String s)`
  Parses the column or rows constraints.
  `static CC`
  `parseComponentConstraint(String s)`
  Parses one component constraint and returns the parsed value.
  `static Map<ComponentWrapper, CC>`
  `parseComponentConstraints(Map<ComponentWrapper, String> constrMap)`
  Parses all component constraints and stores the parsed values in the transient (cache) member variables.
  `static UnitValue[]`
  `parseInsets(String s, boolean acceptPanel)`
  Parses insets which consists of 1-4 `UnitValue`s.
  `static LC`
  `parseLayoutConstraint(String s)`
  Parses the layout constraints and stores the parsed values in the transient (cache) member varables.
  `static AC`
  `parseRowConstraints(String s)`
  Parses the column or rows constraints.
  `static UnitValue`
  `parseUnitValue(String s, boolean isHor)`
  Parses a single unit value.
  `static UnitValue`
  `parseUnitValueOrAlign(String s, boolean isHor, UnitValue emptyReplacement)`
  Parses a single unit value that may also be an alignment as parsed by `boolean)`.
  `static String`
  `prepare(String s)`
  Makes `null` "", trims and converts to lower case.

  ### Methods inherited from class Object

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

- ## Method Details

  - ### parseLayoutConstraint

    public static LC parseLayoutConstraint(String s)

    Parses the layout constraints and stores the parsed values in the transient (cache) member varables.

    ###### Parameters

    - `s`: @param s The String to parse. Should not be `null` and must be lower case and trimmed.

    ###### Returns

    The parsed constraint. Never `null`.

    ###### Throws

    - `RuntimeException`: if the constaint was not valid.

  - ### parseRowConstraints

    public static AC parseRowConstraints(String s)

    Parses the column or rows constraints. They normally looks something like `"[min:pref]rel[10px][]"`.

    ###### Parameters

    - `s`: The string to parse. Not `null`.

    ###### Returns

    Returns:

      An array of `DimConstraint`s that is as many are there exist "[...]" sections in the string that is parsed.

      ###### Throws

      - `RuntimeException`: if the constraint was not valid.

  - ### parseColumnConstraints

    public static AC parseColumnConstraints(String s)

    Parses the column or rows constraints. They normally looks something like `"[min:pref]rel[10px][]"`.

    ###### Parameters

    - `s`: The string to parse. Not `null`.

    ###### Returns

    Returns:

      An array of `DimConstraint`s that is as many are there exist "[...]" sections in the string that is parsed.

      ###### Throws

      - `RuntimeException`: if the constraint was not valid.

  - ### parseComponentConstraints

    public static Map<ComponentWrapper, CC> parseComponentConstraints(Map<ComponentWrapper, String> constrMap)

    Parses all component constraints and stores the parsed values in the transient (cache) member variables.

    ###### Parameters

    - `constrMap`: @param constrMap The constraints as `String`s. Strings must be lower case and trimmed

    ###### Returns

    The parsed constraints. Never `null`.

  - ### parseComponentConstraint

    public static CC parseComponentConstraint(String s)

    Parses one component constraint and returns the parsed value.

    ###### Parameters

    - `s`: @param s The string to parse. Should not be `null` and must be lower case and trimmed.

    ###### Returns

    The parsed constraint. Never `null`.

    ###### Throws

    - `RuntimeException`: if the constraint was not valid.

  - ### parseInsets

    public static UnitValue[] parseInsets(String s, boolean acceptPanel)

    Parses insets which consists of 1-4 `UnitValue`s.

    ###### Parameters

    - `s`: @param s The string to parse. E.g. "10 10 10 10" or "20". If less than 4 groups the last will be used for the missing.

    - `acceptPanel`: @param acceptPanel If "panel" and "dialog" should be accepted. They are used to access platform defaults.

    ###### Returns

    An array of length 4 with the parsed insets.

    ###### Throws

    - `IllegalArgumentException`: if the parsing could not be done.

  - ### parseBoundSize

    public static BoundSize parseBoundSize(String s, boolean isGap, boolean isHor)

    Parses a single "min:pref:max" value. May look something like `"10px:20lp:30%"` or `"pref!"`.

    ###### Parameters

    - `s`: The string to parse. Not `null`.

    - `isGap`: @param isGap If this bound size is a gap (different empty string handling).

    - `isHor`: If the size is for the horizontal dimension.

    ###### Returns

    Returns:
      A bound size that may be `null` if the string was "null", "n" or `null`.

  - ### parseUnitValueOrAlign

    public static UnitValue parseUnitValueOrAlign(String s, boolean isHor, UnitValue emptyReplacement)

    Parses a single unit value that may also be an alignment as parsed by `boolean)`.

    ###### Parameters

    - `s`: @param s The string to parse. Not `null`. May look something like `"10px"` or `"5dlu"`.

    - `isHor`: If the value is for the horizontal dimension.

    - `emptyReplacement`: @param emptyReplacement A replacement if `s` is empty. May be `null`.

    ###### Returns

    The parsed unit value. May be `null`.

  - ### parseUnitValue

    public static UnitValue parseUnitValue(String s, boolean isHor)

    Parses a single unit value. E.g. "10px" or "5in"

    ###### Parameters

    - `s`: @param s The string to parse. Not `null`. May look something like `"10px"` or `"5dlu"`.

    - `isHor`: If the value is for the horizontal dimension.

    ###### Returns

    The parsed unit value. `null` is empty string,

  - ### prepare

    public static String prepare(String s)

    Makes `null` "", trims and converts to lower case.

    ###### Parameters

    - `s`: The string

    ###### Returns

    Not null.