diff --git a/src/enums/MDMarkingPosition.php b/src/enums/MDMarkingPosition.php new file mode 100644 index 0000000..104615d --- /dev/null +++ b/src/enums/MDMarkingPosition.php @@ -0,0 +1,222 @@ + self::front_front, + 'left' => self::left, + 'top_left' => self::top_left, + 'top' => self::top, + 'top_right' => self::top_right, + 'right' => self::right, + 'bottom_right' => self::bottom_right, + 'bottom' => self::bottom, + 'bottom_left' => self::bottom_left, + 'center' => self::center, + 'rear_side' => self::rear_side, + 'rear_left' => self::rear_left, + 'rear_top_left' => self::rear_top_left, + 'rear_top' => self::rear_top, + 'rear_top_right' => self::rear_top_right, + 'rear_right' => self::rear_right, + 'rear_bottom_right' => self::rear_bottom_right, + 'rear_bottom' => self::rear_bottom, + 'rear_bottom_left' => self::rear_bottom_left, + 'rear_center' => self::rear_center, + 'underside' => self::underside, + 'topside' => self::topside, + 'edge' => self::edge, + 'inside' => self::inside, + 'other' => self::other, + 'mock_title' => self::mock_title, + default => throw new MDpageParameterNotFromListException("Unknown marking type"), + }; + + } + + /** + * Returns a value of this type based on an integer. + * + * @param integer $input Input to get a value from. + * + * @return MDMarkingPosition + */ + public static function fromInt(int $input):MDMarkingPosition { + + return match($input) { + 1 => self::front_front, + 2 => self::left, + 3 => self::top_left, + 4 => self::top, + 5 => self::top_right, + 6 => self::right, + 7 => self::bottom_right, + 8 => self::bottom, + 9 => self::bottom_left, + 10 => self::center, + 11 => self::rear_side, + 12 => self::rear_left, + 13 => self::rear_top_left, + 14 => self::rear_top, + 15 => self::rear_top_right, + 16 => self::rear_right, + 17 => self::rear_bottom_right, + 18 => self::rear_bottom, + 19 => self::rear_bottom_left, + 20 => self::rear_center, + 21 => self::underside, + 22 => self::topside, + 23 => self::edge, + 24 => self::inside, + 25 => self::other, + 26 => self::mock_title, + default => throw new MDpageParameterNotFromListException("Unknown marking type"), + }; + + } + + /** + * Lists all available names. + * + * @return array + */ + public static function caseNames():array { + + $output = []; + + $cases = self::cases(); + foreach ($cases as $case) { + $output[] = $case->name; + } + + return $output; + + } + + /** + * Returns an integer representation of the collective (for storage in DB). + * + * @return integer + */ + public function toInt():int { + + return match($this) { + self::front_front => 1, + self::left => 2, + self::top_left => 3, + self::top => 4, + self::top_right => 5, + self::right => 6, + self::bottom_right => 7, + self::bottom => 8, + self::bottom_left => 9, + self::center => 10, + self::rear_side => 11, + self::rear_left => 12, + self::rear_top_left => 13, + self::rear_top => 14, + self::rear_top_right => 15, + self::rear_right => 16, + self::rear_bottom_right => 17, + self::rear_bottom => 18, + self::rear_bottom_left => 19, + self::rear_center => 20, + self::underside => 21, + self::topside => 22, + self::edge => 23, + self::inside => 24, + self::other => 25, + self::mock_title => 26, + # default => throw new MDpageParameterNotFromListException("Unknown measurement type"), + }; + + } + + /** + * Gets an unsorted list of the entries in a translated version. + * + * @param MDTlLoader $tlLoader Translation loader. + * + * @return array + */ + public static function getUnsortedList(MDTlLoader $tlLoader):array { + return MDValueSet::getTlUnsortedList($tlLoader, self::caseNames(), "position_set", "position_set"); + + } + + /** + * Gets a sorted list of the entries in a translated version. + * + * @param MDTlLoader $tlLoader Translation loader. + * + * @return array + */ + public static function getSortedList(MDTlLoader $tlLoader):array { + return MDValueSet::getTlSortedList($tlLoader, self::caseNames(), "position_set", "position_set"); + + } + + /** + * Returns the name of the current value in translation. + * + * @param MDTlLoader $tlLoader Translation loader. + * + * @return string + */ + public function getTledName(MDTlLoader $tlLoader):string { + + return $tlLoader->tl("position_set", "position_set", $this->name); + + } + + /** + * Provides the option to serialize as a string during json_encode(). + * + * @return string + */ + public function jsonSerialize():string { + + return $this->name; + + } +} diff --git a/src/enums/MDMarkingType.php b/src/enums/MDMarkingType.php new file mode 100644 index 0000000..d498ec7 --- /dev/null +++ b/src/enums/MDMarkingType.php @@ -0,0 +1,202 @@ + self::signature, + 'engraving' => self::engraving, + 'watermark' => self::watermark, + 'scratch' => self::scratch, + 'stamp' => self::stamp, + 'overprint' => self::overprint, + 'embossing' => self::embossing, + 'handwritten' => self::handwritten, + 'screwed' => self::screwed, + 'burnt_in' => self::burnt_in, + 'riveted' => self::riveted, + 'nailed' => self::nailed, + 'punched' => self::punched, + 'hallmarked' => self::hallmarked, + 'scarified' => self::scarified, + 'cast' => self::cast, + 'sewn' => self::sewn, + 'glued' => self::glued, + 'painted' => self::painted, + 'drawn' => self::drawn, + 'embroidered' => self::embroidered, + default => throw new MDpageParameterNotFromListException("Unknown marking type"), + }; + + } + + /** + * Returns a value of this type based on an integer. + * + * @param integer $input Input to get a value from. + * + * @return MDMarkingType + */ + public static function fromInt(int $input):MDMarkingType { + + return match($input) { + 1 => self::signature, + 2 => self::engraving, + 3 => self::watermark, + 4 => self::scratch, + 5 => self::stamp, + 6 => self::overprint, + 7 => self::embossing, + 8 => self::handwritten, + 9 => self::screwed, + 10 => self::burnt_in, + 11 => self::riveted, + 12 => self::nailed, + 13 => self::punched, + 14 => self::hallmarked, + 15 => self::scarified, + 16 => self::cast, + 17 => self::sewn, + 18 => self::glued, + 19 => self::painted, + 20 => self::drawn, + 21 => self::embroidered, + default => throw new MDpageParameterNotFromListException("Unknown marking type"), + }; + + } + + /** + * Lists all available names. + * + * @return array + */ + public static function caseNames():array { + + $output = []; + + $cases = self::cases(); + foreach ($cases as $case) { + $output[] = $case->name; + } + + return $output; + + } + + /** + * Returns an integer representation of the collective (for storage in DB). + * + * @return integer + */ + public function toInt():int { + + return match($this) { + self::signature => 1, + self::engraving => 2, + self::watermark => 3, + self::scratch => 4, + self::stamp => 5, + self::overprint => 6, + self::embossing => 7, + self::handwritten => 8, + self::screwed => 9, + self::burnt_in => 10, + self::riveted => 11, + self::nailed => 12, + self::punched => 13, + self::hallmarked => 14, + self::scarified => 15, + self::cast => 16, + self::sewn => 17, + self::glued => 18, + self::painted => 19, + self::drawn => 20, + self::embroidered => 21, + # default => throw new MDpageParameterNotFromListException("Unknown measurement type"), + }; + + } + + /** + * Gets an unsorted list of the entries in a translated version. + * + * @param MDTlLoader $tlLoader Translation loader. + * + * @return array + */ + public static function getUnsortedList(MDTlLoader $tlLoader):array { + return MDValueSet::getTlUnsortedList($tlLoader, self::caseNames(), "marking_types", "marking_types"); + + } + + /** + * Gets a sorted list of the entries in a translated version. + * + * @param MDTlLoader $tlLoader Translation loader. + * + * @return array + */ + public static function getSortedList(MDTlLoader $tlLoader):array { + return MDValueSet::getTlSortedList($tlLoader, self::caseNames(), "marking_types", "marking_types"); + + } + + /** + * Returns the name of the current value in translation. + * + * @param MDTlLoader $tlLoader Translation loader. + * + * @return string + */ + public function getTledName(MDTlLoader $tlLoader):string { + + return $tlLoader->tl("marking_types", "marking_types", $this->name); + + } + + /** + * Provides the option to serialize as a string during json_encode(). + * + * @return string + */ + public function jsonSerialize():string { + + return $this->name; + + } +} diff --git a/src/enums/MDWeightUnit.php b/src/enums/MDWeightUnit.php index 3fdf49e..fed47d3 100644 --- a/src/enums/MDWeightUnit.php +++ b/src/enums/MDWeightUnit.php @@ -1,9 +1,4 @@ - */ declare(strict_types = 1); /**