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.normalizers;
21
22
23 import java.io.IOException;
24
25 import org.apache.directory.api.i18n.I18n;
26 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
27 import org.apache.directory.api.ldap.model.entry.StringValue;
28 import org.apache.directory.api.ldap.model.entry.Value;
29 import org.apache.directory.api.ldap.model.exception.LdapException;
30 import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
31 import org.apache.directory.api.ldap.model.schema.Normalizer;
32 import org.apache.directory.api.ldap.model.schema.PrepareString;
33
34
35
36
37
38
39
40 @SuppressWarnings("serial")
41 public class NumericNormalizer extends Normalizer
42 {
43
44
45
46 public NumericNormalizer()
47 {
48 super( SchemaConstants.NUMERIC_STRING_MATCH_MR_OID );
49 }
50
51
52
53
54
55 public Value<?> normalize( Value<?> value ) throws LdapException
56 {
57 try
58 {
59 String normalized = PrepareString.normalize( value.getString(),
60 PrepareString.StringType.NUMERIC_STRING );
61
62 return new StringValue( normalized );
63 }
64 catch ( IOException ioe )
65 {
66 throw new LdapInvalidDnException( I18n.err( I18n.ERR_04224, value ), ioe );
67 }
68 }
69
70
71
72
73
74 public String normalize( String value ) throws LdapException
75 {
76 try
77 {
78 return PrepareString.normalize( value,
79 PrepareString.StringType.NUMERIC_STRING );
80 }
81 catch ( IOException ioe )
82 {
83 throw new LdapInvalidDnException( I18n.err( I18n.ERR_04224, value ), ioe );
84 }
85 }
86 }