Class BoundSize

java.lang.Object
net.miginfocom.layout.BoundSize
All Implemented Interfaces:
Serializable

public class BoundSize extends Object implements 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:
  • Field Details

    • NULL_SIZE

      public static final BoundSize NULL_SIZE
    • ZERO_PIXEL

      public static final BoundSize ZERO_PIXEL
    • min

      private final transient UnitValue min
    • pref

      private final transient UnitValue pref
    • max

      private final transient UnitValue max
    • gapPush

      private final transient boolean gapPush
    • serialVersionUID

      private static final long serialVersionUID
      See Also:
  • Constructor Details

    • BoundSize

      public BoundSize(UnitValue minMaxPref, 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, 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, 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 Details

    • 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

      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 String toString()
      Overrides:
      toString in class Object
    • readResolve

      protected Object readResolve() throws ObjectStreamException
      Throws:
      ObjectStreamException
    • writeObject

      private void writeObject(ObjectOutputStream out) throws IOException
      Throws:
      IOException
    • readObject

      private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException