Subversion Repository Public Repository

litesoft

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.temp.common.shared.validators;

import org.litesoft.externalization.shared.*;

import com.temp.common.shared.*;
import com.temp.common.shared.utils.*;

public class IdentifierValueValidator implements ValueValidator<String> {
    public static final String TEMPLATE_ID_CODE = "NotIdentifier";
    public static final String TEMPLATE_NAME_WHY = "why";
    public static final String SUBTEMPLATE_WHY_EMPTY_STRING = "EmptyString";
    public static final String SUBTEMPLATE_WHY_BAD_CHAR = "BadCharacter";
    public static final String USER_DATA_POSITION = "position";
    public static final String USER_DATA_CHAR = "character";

    public static final ValueValidator<String> INSTANCE = new IdentifierValueValidator();

    private IdentifierValueValidator() {
    }

    @Override
    public E13nData checkValue( String value ) {
        String userData = StringUtils.deNull( value ).trim();
        if ( userData.length() == 0 ) {
            return E13nData.builder( TEMPLATE_ID_CODE )
                    .addSubstitutionNamedExternalizableCode( TEMPLATE_NAME_WHY, SUBTEMPLATE_WHY_EMPTY_STRING )
                    .build();
        }
        int errorIndex = StringUtils.checkIdentifier( userData );
        if ( errorIndex == -1 ) {
            return null; // OK!
        }
        return E13nData.builder( TEMPLATE_ID_CODE )
                .addSubstitutionNamedExternalizableCode( TEMPLATE_NAME_WHY, SUBTEMPLATE_WHY_BAD_CHAR ) //
                .addSubstitutionNamedUserData( USER_DATA_POSITION, Integer.toString( errorIndex + 1 ) ) //
                .addSubstitutionNamedUserData( USER_DATA_CHAR, Character.toString( userData.charAt( errorIndex ) ) )
                .build();
    }
}

Commits for litesoft/trunk/GWT_Sandbox/FormEngine/src/com/temp/common/shared/validators/IdentifierValueValidator.java

Diff revisions: vs.
Revision Author Commited Message
964 GeorgeS picture GeorgeS Fri 01 Aug, 2014 03:18:23 +0000

!