1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.model.schema.syntaxCheckers;
21
22
23 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
24 import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
25 import org.apache.directory.api.util.Strings;
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
28
29
30
31
32
33
34
35
36
37
38
39
40 @SuppressWarnings("serial")
41 public class BooleanSyntaxChecker extends SyntaxChecker
42 {
43
44 private static final Logger LOG = LoggerFactory.getLogger( BooleanSyntaxChecker.class );
45
46
47
48
49
50 public BooleanSyntaxChecker()
51 {
52 super( SchemaConstants.BOOLEAN_SYNTAX );
53 }
54
55
56
57
58
59 public boolean isValidSyntax( Object value )
60 {
61 String strValue = null;
62
63 if ( value == null )
64 {
65 LOG.debug( "Syntax invalid for 'null'" );
66 return false;
67 }
68
69 if ( value instanceof String )
70 {
71 strValue = ( String ) value;
72 }
73 else if ( value instanceof byte[] )
74 {
75 strValue = Strings.utf8ToString( ( byte[] ) value );
76 }
77 else
78 {
79 strValue = value.toString();
80 }
81
82 if ( strValue.length() == 0 )
83 {
84 LOG.debug( "Syntax invalid for '{}'", strValue );
85 return false;
86 }
87
88 boolean valid = ( ( "TRUE".equalsIgnoreCase( strValue ) ) || ( "FALSE".equalsIgnoreCase( strValue ) ) );
89
90 if ( valid )
91 {
92 LOG.debug( "Syntax valid for '{}'", strValue );
93 }
94 else
95 {
96 LOG.debug( "Syntax invalid for '{}'", strValue );
97 }
98
99 return valid;
100 }
101 }