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
40
package org.litesoft.aokeyhole.toolkit;

import org.litesoft.core.util.*;

public abstract class IdentifierValidatorAbstract implements IdentifierValidator
{
    protected String isIdentifierValid( String pIdentifier, int pMinLength, String pPurpose )
    {
        if ( (pIdentifier == null) || (pIdentifier.length() == 0) )
        {
            return "No " + pPurpose + " provided";
        }
        if ( pIdentifier.length() < pMinLength )
        {
            return "The " + pPurpose + " provided '" + pIdentifier + "' is not at least " + pMinLength + " characters long";
        }

        if ( !isIdentifierStartCharacterValid( pIdentifier.charAt( 0 ) ) )
        {
            return "The first character of the " + pPurpose + " provided '" + pIdentifier + "' is not " + getIdentifierStartCharacterValidOptionsErrorText();
        }
        for ( int i = 1; i < pIdentifier.length(); i++ )
        {
            if ( !isIdentifierRestCharacterValid( pIdentifier.charAt( i ) ) )
            {
                return "The " + UtilsCommon.toNth( i + 1 ) + " character of the " + pPurpose + " provided '" + pIdentifier + "' is not " +
                       getIdentifierRestCharacterValidOptionsErrorText();
            }
        }
        return null;
    }

    abstract protected String getIdentifierStartCharacterValidOptionsErrorText();

    abstract protected boolean isIdentifierStartCharacterValid( char pChar );

    abstract protected String getIdentifierRestCharacterValidOptionsErrorText();

    abstract protected boolean isIdentifierRestCharacterValid( char pChar );
}

Commits for litesoft/trunk/Java/KeyHole/src/org/litesoft/aokeyhole/toolkit/IdentifierValidatorAbstract.java

Diff revisions: vs.
Revision Author Commited Message
2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000