diff --git a/src/main/groovy/gldapo/schema/attribute/type/DefaultTypeMappings.groovy b/src/main/groovy/gldapo/schema/attribute/type/DefaultTypeMappings.groovy
index 27c1887..509e3b1 100644
--- a/src/main/groovy/gldapo/schema/attribute/type/DefaultTypeMappings.groovy
+++ b/src/main/groovy/gldapo/schema/attribute/type/DefaultTypeMappings.groovy
@@ -151,6 +151,20 @@ class DefaultTypeMappings
         value.toString()
     }
     
+    /**
+     * Default type mapping for <strong>Boolean<strong> type
+     * 
+     * @param value The string representation
+     * @return The exact same value that was passed in
+     */
+    static mapToBooleanType(value) {
+        new Boolean(value)
+    }
+
+    static mapFromBooleanType(value) {
+        value.toString()
+    }
+
     static mapToDistinguishedNameType(value) {
         new DistinguishedName(value)
     }
diff --git a/src/test/groovy/gldapo/schema/attribute/type/DefaultTypeMappingsTest.groovy b/src/test/groovy/gldapo/schema/attribute/type/DefaultTypeMappingsTest.groovy
index 10904e2..4c8d925 100644
--- a/src/test/groovy/gldapo/schema/attribute/type/DefaultTypeMappingsTest.groovy
+++ b/src/test/groovy/gldapo/schema/attribute/type/DefaultTypeMappingsTest.groovy
@@ -70,4 +70,16 @@ class DefaultTypeMappingsTest extends GroovyTestCase
         assertEquals(Short, m.class)
         assertEquals(new Short("123"), m)
     }
+
+    void testBooleanMapping() {
+        def m1 = DefaultTypeMappings.mapToBooleanType(true)
+        assertEquals(Boolean, m1.class)
+        assertEquals(new Boolean("TRUE"), m1)
+        assertEquals(new Boolean("true"), m1)
+
+        def m2 = DefaultTypeMappings.mapToBooleanType(false)
+        assertEquals(Boolean, m2.class)
+        assertEquals(new Boolean("FALSE"), m2)
+        assertEquals(new Boolean("false"), m2)
+    }
 }
\ No newline at end of file


