Class RegionMembership

Direct Known Subclasses:
RegionMembershipAnd, RegionMembershipOr

public abstract class RegionMembership extends AnchorBean<RegionMembership>
Abstract class representing membership of regions using a bit-flag system.

This class uses 8 boolean fields to represent membership in up to 8 different regions.

  • Constructor Details

    • RegionMembership

      protected RegionMembership(int index)
      Constructs a RegionMembership with a single region set.
      Parameters:
      index - the index of the region to set (0-7)
      Throws:
      AnchorFriendlyRuntimeException - if the index is out of range
    • RegionMembership

      public RegionMembership()
  • Method Details

    • flags

      public byte flags()
      Calculates the flags as a byte based on the current region memberships.
      Returns:
      a byte representing the region memberships
    • isMemberFlag

      public abstract boolean isMemberFlag(byte membership, byte flag)
      Checks if a given membership flag is set for a specific region.
      Parameters:
      membership - the membership byte to check
      flag - the flag representing the region to check
      Returns:
      true if the region is a member, false otherwise
    • toString

      public String toString()
      Description copied from class: AnchorBean
      By default, we use AnchorBean.describeBean() as the string representation of the bean.
      Overrides:
      toString in class AnchorBean<RegionMembership>
      Returns:
      the string representation
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

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

      public boolean isBit0()
      Flag for region 0.
    • setBit0

      public void setBit0(boolean bit0)
      Flag for region 0.
    • isBit1

      public boolean isBit1()
      Flag for region 1.
    • setBit1

      public void setBit1(boolean bit1)
      Flag for region 1.
    • isBit2

      public boolean isBit2()
      Flag for region 2.
    • setBit2

      public void setBit2(boolean bit2)
      Flag for region 2.
    • isBit3

      public boolean isBit3()
      Flag for region 3.
    • setBit3

      public void setBit3(boolean bit3)
      Flag for region 3.
    • isBit4

      public boolean isBit4()
      Flag for region 4.
    • setBit4

      public void setBit4(boolean bit4)
      Flag for region 4.
    • isBit5

      public boolean isBit5()
      Flag for region 5.
    • setBit5

      public void setBit5(boolean bit5)
      Flag for region 5.
    • isBit6

      public boolean isBit6()
      Flag for region 6.
    • setBit6

      public void setBit6(boolean bit6)
      Flag for region 6.
    • isBit7

      public boolean isBit7()
      Flag for region 7.
    • setBit7

      public void setBit7(boolean bit7)
      Flag for region 7.