Skip to content

Commit

Permalink
Added codeToFlagMap
Browse files Browse the repository at this point in the history
  • Loading branch information
takapi327 committed Feb 3, 2025
1 parent 3cb2db4 commit a562a20
Showing 1 changed file with 7 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,18 @@ enum ColumnDefinitionFlags(val code: Long):

object ColumnDefinitionFlags:

private val codeToFlagMap: Map[Long, ColumnDefinitionFlags] =
ColumnDefinitionFlags.values.map(flag => flag.code -> flag).toMap

/** Get bitset objects from numeric bitset. */
def apply(bitset: Long): Seq[ColumnDefinitionFlags] =
toEnumSeq(bitset)
codeToFlagMap.collect {
case (code, flag) if (bitset & code) == code => flag
}.toSeq

/** Get bitset objects from numeric bitsets. */
def apply(bitset: Seq[Short]): Seq[ColumnDefinitionFlags] =
bitset.flatMap(b => toEnumSeq(toCode(b)))
bitset.flatMap(b => codeToFlagMap.get(toCode(b)))

/** Convert bitNum to BitFlag numbers */
def toCode(bitNum: Short): Long =
Expand Down

0 comments on commit a562a20

Please sign in to comment.