71 lines
922 B
Java
71 lines
922 B
Java
package speiger.src.coreengine.utils.collections;
|
|
|
|
public class FlagHolder
|
|
{
|
|
int flags;
|
|
|
|
public FlagHolder()
|
|
{
|
|
}
|
|
|
|
public FlagHolder(int initFlags)
|
|
{
|
|
flags = initFlags;
|
|
}
|
|
|
|
public void setFlag(int flag)
|
|
{
|
|
flags |= flag;
|
|
}
|
|
|
|
public boolean setFlag(int flag, boolean value)
|
|
{
|
|
if(isFlagSet(flag) == value)
|
|
{
|
|
return false;
|
|
}
|
|
flags = (value ? flags | flag : flags & ~(flag));
|
|
return true;
|
|
}
|
|
|
|
public void setFlags(int flags)
|
|
{
|
|
this.flags = flags;
|
|
}
|
|
|
|
public int getFlags()
|
|
{
|
|
return flags;
|
|
}
|
|
|
|
public void flipFlag(int flag)
|
|
{
|
|
flags ^= flag;
|
|
}
|
|
|
|
public void clearFlag(int flag)
|
|
{
|
|
flags &= ~flag;
|
|
}
|
|
|
|
public void clearFlags()
|
|
{
|
|
flags = 0;
|
|
}
|
|
|
|
public boolean isFlagSet(int flag)
|
|
{
|
|
return (flags & flag) == flag;
|
|
}
|
|
|
|
public boolean isAnyFlagSet(int flag)
|
|
{
|
|
return (flags & flag) != 0;
|
|
}
|
|
|
|
public boolean isFlagNotSet(int flag)
|
|
{
|
|
return (flags & flag) == 0;
|
|
}
|
|
}
|