Class HeightSpec

  • All Implemented Interfaces:
    Serializable

    @Immutable
    @MustImplementEqualsAndHashcode
    public class HeightSpec
    extends Object
    implements Serializable
    This class defines a dependent height of an elements:
    • absolute - element has a fixed height
    • percentage - element height is a certain percentage of the surrounding element
    • star - element height is a relative part of the unused height of the surrounding element. All star elements evenly share the available height.
    • auto - elements takes the height it needs
    Author:
    Philip Helger
    See Also:
    Serialized Form
    • Method Detail

      • getTypeID

        @Nonnull
        @Nonempty
        public final String getTypeID()
        Returns:
        The ID of the height type. Never null.
      • isAbsolute

        public final boolean isAbsolute()
        Returns:
        true if type is 'absolute' or 'percentage'- Only absolute entries need to provide a value!
      • isStar

        public final boolean isStar()
        Returns:
        true if type is 'star'.
      • isAuto

        public final boolean isAuto()
        Returns:
        true if type is 'auto'.
      • getValue

        @Nonnegative
        public final float getValue()
        Returns:
        The height value - is either an absolute value or a percentage value - depending on getType(). For star height elements this is 0.
      • getEffectiveValue

        @Nonnegative
        public float getEffectiveValue​(float fAvailableHeight)
        Get the effective height based on the passed available height. This may not be called for star or auto height elements.
        Parameters:
        fAvailableHeight - The available height.
        Returns:
        The effective height to use.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • abs

        @Nonnull
        public static HeightSpec abs​(@Nonnegative
                                     float fValue)
        Create a height element with an absolute value.
        Parameters:
        fValue - The height to use. Must be > 0.
        Returns:
        Never null.
      • perc

        @Nonnull
        public static HeightSpec perc​(@Nonnegative
                                      float fPerc)
        Create a height element with an percentage value.
        Parameters:
        fPerc - The height percentage to use. Must be > 0.
        Returns:
        Never null.
      • star

        @Nonnull
        public static HeightSpec star()
        Create a new star height element.
        Returns:
        Never null.
      • auto

        @Nonnull
        public static HeightSpec auto()
        Create a new auto height element.
        Returns:
        Never null.