Files
linguist/samples/Apex/BooleanUtils.cls
2012-07-23 15:52:49 -05:00

185 lines
4.3 KiB
OpenEdge ABL

/* ============================================================
* This code is part of the "apex-lang" open source project avaiable at:
*
* http://code.google.com/p/apex-lang/
*
* This code is licensed under the Apache License, Version 2.0. You may obtain a
* copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
* ============================================================
*/
global class BooleanUtils {
global static Boolean isFalse(Boolean bool)
{
if(bool==null)
return false;
else
return !bool;
}
global static Boolean isNotFalse(Boolean bool)
{
if(bool==null)
return true;
else
return bool;
}
global static Boolean isNotTrue(Boolean bool)
{
if(bool==null)
return true;
else
return !bool;
}
global static Boolean isTrue(Boolean bool)
{
if(bool==null)
return false;
else
return bool;
}
global static Boolean negate(Boolean bool)
{
if(bool==null)
return null;
else
return !bool;
}
global static Boolean toBooleanDefaultIfNull(Boolean bool, Boolean defaultVal)
{
if(bool==null)
return defaultVal;
else
return bool;
}
global static Boolean toBoolean(Integer value)
{
if(value==null)
return false;
else
{
if(value==0)
return false;
else
return true;
}
}
global static Boolean strToBoolean(String value)
{
if(value==null)
return false;
else
{
if(StringUtils.equalsIgnoreCase(value,'true'))
return true;
else
return false;
}
}
/************************************/
//Converts an int to a boolean specifying
//the conversion values.
// Parameters:
// value - the Integer to convert, may be null
// trueValue - the value to match for true, may be null
// falseValue - the value to match for false, may be null
//Returns:
// true or false
//Throws:
// java.lang.IllegalArgumentException - if no match
/************************************/
global static Boolean toBoolean(Integer value,
Integer trueValue,
Integer falseValue)
{
if(value==trueValue)
return true;
else if(value==falseValue)
return false;
else
throw new IllegalArgumentException();
}
global static Integer toInteger(Boolean bool)
{
if(bool==null)
throw new IllegalArgumentException();
else
{
if(bool)
return 1;
else
return 0;
}
}
global static String toStringYesNo(Boolean bool)
{
if(bool==null)
return null;
else
{
if(bool)
return 'yes';
else
return 'no';
}
}
global static String toStringYN(Boolean bool)
{
if(bool==null)
return null;
else
{
if(bool)
return 'Y';
else
return 'N';
}
}
global static String toString(Boolean bool,
String trueString,
String falseString)
{
if(bool==null)
return null;
else
{
if(bool)
return trueString;
else
return falseString;
}
}
global static Boolean xor(Boolean[] boolArray)
{
if(boolArray==null || boolArray.size()==0)
throw new IllegalArgumentException();
else
{
Boolean firstItem=boolArray[0];
for(Boolean bool:boolArray)
{
if(bool!=firstItem)
return false;
}
return true;
}
}
}