1 16 package org.outerj.daisy.repository.query; 17 18 public final class SortOrder { 19 private final String name; 20 private final char code; 21 22 private SortOrder(String name, char code) { 23 this.name = name; 24 this.code = code; 25 } 26 27 public String toString() { 28 return name; 29 } 30 31 public char getCode() { 32 return code; 33 } 34 35 public static SortOrder fromString(String name) { 36 if (ASCENDING.name.equals(name)) 37 return ASCENDING; 38 else if (DESCENDING.name.equals(name)) 39 return DESCENDING; 40 else if (NONE.name.equals(name)) 41 return NONE; 42 else 43 throw new RuntimeException ("Invalid sort order name: " + name); 44 } 45 46 public static SortOrder fromCode(char code) { 47 if (ASCENDING.code == code) 48 return ASCENDING; 49 else if (DESCENDING.code == code) 50 return DESCENDING; 51 else if (NONE.code == code) 52 return NONE; 53 else 54 throw new RuntimeException ("Invalid sort order code: " + code); 55 } 56 57 public static final SortOrder ASCENDING = new SortOrder("ascending", 'A'); 58 public static final SortOrder DESCENDING = new SortOrder("descending", 'D'); 59 public static final SortOrder NONE = new SortOrder("none", 'N'); 60 } 61 | Popular Tags |