1 module java.lang.Boolean; 2 3 import java.lang.util; 4 import java.lang.System; 5 import java.lang.Class; 6 7 version(Tango){ 8 static import tango.text.Ascii; 9 } else { // Phobos 10 static import std..string; 11 } 12 class Boolean : ValueWrapperT!(bool) { 13 public static Boolean TRUE; 14 public static Boolean FALSE; 15 16 static this(){ 17 TRUE = new Boolean(true); 18 FALSE = new Boolean(false); 19 } 20 public this( bool v ){ 21 super(v); 22 } 23 24 alias ValueWrapperT!(bool).opEquals opEquals; 25 public equals_t opEquals( int other ){ 26 return value == ( other !is 0 ); 27 } 28 override 29 public equals_t opEquals( Object other ){ 30 if( auto o = cast(Boolean)other ){ 31 return value == o.value; 32 } 33 return false; 34 } 35 public bool booleanValue(){ 36 return value; 37 } 38 public static Boolean valueOf( String s ){ 39 if( s == "yes" || s == "true" ){ 40 return TRUE; 41 } 42 return FALSE; 43 } 44 public static Boolean valueOf( bool b ){ 45 return b ? TRUE : FALSE; 46 } 47 public static bool getBoolean(String name){ 48 version(Tango){ 49 return tango.text.Ascii.icompare(System.getProperty(name, "false"), "true" ) is 0; 50 } else { // Phobos 51 return std..string.icmp(System.getProperty(name, "false"), "true" ) is 0; 52 } 53 } 54 55 private static Class TYPE_; 56 public static Class TYPE(){ 57 if( TYPE_ is null ){ 58 TYPE_ = Class.fromType!(bool); 59 } 60 return TYPE_; 61 } 62 63 } 64 65 alias Boolean ValueWrapperBool;