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 java.util.UUID;
24
25 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
26 import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
27 import org.apache.directory.api.util.Strings;
28 import org.slf4j.Logger;
29 import org.slf4j.LoggerFactory;
30
31
32
33
34
35
36
37
38
39 @SuppressWarnings("serial")
40 public class UuidSyntaxChecker extends SyntaxChecker
41 {
42
43 private static final Logger LOG = LoggerFactory.getLogger( UuidSyntaxChecker.class );
44
45
46
47
48
49 public UuidSyntaxChecker()
50 {
51 super( SchemaConstants.UUID_SYNTAX );
52 }
53
54
55
56
57
58 public boolean isValidSyntax( Object value )
59 {
60 if ( value == null )
61 {
62 LOG.debug( "Syntax invalid for 'null'" );
63 return false;
64 }
65
66 if ( value instanceof UUID )
67 {
68 return true;
69 }
70
71 if ( !( value instanceof String ) )
72 {
73 LOG.debug( "Syntax invalid for '{}'", value );
74 return false;
75 }
76
77 return Strings.isValidUuid( ( String ) value );
78 }
79 }