Class BoundSize

  • All Implemented Interfaces:
    java.io.Serializable

    public class BoundSize
    extends java.lang.Object
    implements java.io.Serializable
    A size that contains minimum, preferred and maximum size of type UnitValue.

    This class is a simple value container and it is immutable.

    If a size is missing (i.e., null) that boundary should be considered "not in use".

    You can create a BoundSize from a String with the use of ConstraintParser.parseBoundSize(String, boolean, boolean)

    See Also:
    Serialized Form
    • Field Detail

      • NULL_SIZE

        public static final BoundSize NULL_SIZE
      • ZERO_PIXEL

        public static final BoundSize ZERO_PIXEL
      • pref

        private final transient UnitValue pref
      • gapPush

        private final transient boolean gapPush
    • Constructor Detail

      • BoundSize

        public BoundSize​(UnitValue minMaxPref,
                         java.lang.String createString)
        Constructor that use the same value for min/preferred/max size.
        Parameters:
        minMaxPref - The value to use for min/preferred/max size.
        createString - The string used to create the BoundsSize.
      • BoundSize

        public BoundSize​(UnitValue min,
                         UnitValue preferred,
                         UnitValue max,
                         java.lang.String createString)
        Constructor. This method is here for serialization only and should normally not be used. Use ConstraintParser.parseBoundSize(String, boolean, boolean) instead.
        Parameters:
        min - The minimum size. May be null.
        preferred - The preferred size. May be null.
        max - The maximum size. May be null.
        createString - The string used to create the BoundsSize.
      • BoundSize

        public BoundSize​(UnitValue min,
                         UnitValue preferred,
                         UnitValue max,
                         boolean gapPush,
                         java.lang.String createString)
        Constructor. This method is here for serialization only and should normally not be used. Use ConstraintParser.parseBoundSize(String, boolean, boolean) instead.
        Parameters:
        min - The minimum size. May be null.
        preferred - The preferred size. May be null.
        max - The maximum size. May be null.
        gapPush - If the size should be hinted as "pushing" and thus want to occupy free space if no one else is claiming it.
        createString - The string used to create the BoundsSize.
    • Method Detail

      • getMin

        public final UnitValue getMin()
        Returns the minimum size as sent into the constructor.
        Returns:
        The minimum size as sent into the constructor. May be null.
      • getPreferred

        public final UnitValue getPreferred()
        Returns the preferred size as sent into the constructor.
        Returns:
        The preferred size as sent into the constructor. May be null.
      • getMax

        public final UnitValue getMax()
        Returns the maximum size as sent into the constructor.
        Returns:
        The maximum size as sent into the constructor. May be null.
      • getGapPush

        public boolean getGapPush()
        If the size should be hinted as "pushing" and thus want to occupy free space if no one else is claiming it.
        Returns:
        The value.
      • isUnset

        public boolean isUnset()
        Returns if this bound size has no min, preferred and maximum size set (they are all null)
        Returns:
        If unset.
      • constrain

        public int constrain​(int size,
                             float refValue,
                             ContainerWrapper parent)
        Makes sure that size is within min and max of this size.
        Parameters:
        size - The size to constrain.
        refValue - The reference to use for relative sizes.
        parent - The parent container.
        Returns:
        The size, constrained within min and max.
      • getSize

        final UnitValue getSize​(int sizeType)
        Returns the minimum, preferred or maximum size for this bounded size.
        Parameters:
        sizeType - The type. LayoutUtil.MIN, LayoutUtil.PREF or LayoutUtil.MAX.
        Returns:
      • getPixelSizes

        final int[] getPixelSizes​(float refSize,
                                  ContainerWrapper parent,
                                  ComponentWrapper comp)
        Convert the bound sizes to pixels.

        null bound sizes will be 0 for min and preferred and LayoutUtil.INF for max.

        Parameters:
        refSize - The reference size.
        parent - The parent. Not null.
        comp - The component, if applicable, can be null.
        Returns:
        An array of length three (min,pref,max).
      • getConstraintString

        java.lang.String getConstraintString()
        Returns the a constraint string that can be re-parsed to be the exact same UnitValue.
        Returns:
        A String. Never null.
      • checkNotLinked

        void checkNotLinked()
      • isLinked

        boolean isLinked()
      • isAbsolute

        boolean isAbsolute()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • readResolve

        protected java.lang.Object readResolve()
                                        throws java.io.ObjectStreamException
        Throws:
        java.io.ObjectStreamException
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream out)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException