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
41
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt
package org.litesoft.aokeyhole.toolkit;

import org.litesoft.commonfoundation.typeutils.*;

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 " + Integers.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
939 Diff Diff GeorgeS picture GeorgeS Mon 02 Jun, 2014 21:30:31 +0000

Extracting commonfoundation

819 Diff Diff GeorgeS picture GeorgeS Sat 18 Aug, 2012 18:09:40 +0000
49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000