Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.61 KB | None | 0 0
  1. package com.meta1203.testing;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.List;
  6.  
  7. public enum DayOfWeek {
  8.     SUNDAY ("Sunday" , (byte)1),
  9.     MONDAY ("Monday" , (byte)2),
  10.     TUESDAY ("Tuesday" , (byte)4),
  11.     WEDNESDAY ("Wednesday" , (byte)8),
  12.     THURSDAY ("Thursday" , (byte)16),
  13.     FRIDAY ("Friday" , (byte)32),
  14.     SATURDAY ("Saturday" , (byte)64);
  15.    
  16.     private final String humanName;
  17.     private final byte mask;
  18.    
  19.     DayOfWeek(String humanName, byte mask) {
  20.         this.humanName = humanName;
  21.         this.mask = mask;
  22.     }
  23.    
  24.     public String humanName() {
  25.         return humanName;
  26.     }
  27.    
  28.     public byte mask() {
  29.         return mask;
  30.     }
  31.    
  32.     public static final List<DayOfWeek> ENTIRE_WEEK = Arrays.asList(DayOfWeek.SUNDAY, DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY, DayOfWeek.THURSDAY, DayOfWeek.FRIDAY, DayOfWeek.SATURDAY);
  33.    
  34.     public static List<DayOfWeek> getDaysOfWeek(byte input) {
  35.         ArrayList<DayOfWeek> ret = new ArrayList<DayOfWeek>();
  36.        
  37.         if ((input & SUNDAY.mask) > 0) {
  38.             ret.add(SUNDAY);
  39.         }
  40.        
  41.         if ((input & MONDAY.mask) > 0) {
  42.             ret.add(MONDAY);
  43.         }
  44.        
  45.         if ((input & TUESDAY.mask) > 0) {
  46.             ret.add(TUESDAY);
  47.         }
  48.        
  49.         if ((input & WEDNESDAY.mask) > 0) {
  50.             ret.add(WEDNESDAY);
  51.         }
  52.        
  53.         if ((input & THURSDAY.mask) > 0) {
  54.             ret.add(THURSDAY);
  55.         }
  56.        
  57.         if ((input & FRIDAY.mask) > 0) {
  58.             ret.add(FRIDAY);
  59.         }
  60.        
  61.         if ((input & SATURDAY.mask) > 0) {
  62.             ret.add(SATURDAY);
  63.         }
  64.        
  65.         return ret;
  66.     }
  67.    
  68.     public static byte serializeList(List<DayOfWeek> list) {
  69.         byte ret = 0;
  70.        
  71.         for (DayOfWeek x : list ) {
  72.             ret = (byte) (ret | x.mask);
  73.         }
  74.        
  75.         return ret;
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement