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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// This Source Code is in the Public Domain per: http://unlicense.org
package org.litesoft.bo.attributes;

import org.litesoft.commonfoundation.base.*;
import org.litesoft.core.simpletypes.nonpublic.*;

import java.util.*;

public class BooleanDisplayOptions implements PropertyOfAMD {
    public static BooleanDisplayOptions of( String pTrueFalseText ) {
        if ( null == (pTrueFalseText = ConstrainTo.significantOrNull( pTrueFalseText )) ) {
            return null;
        }
        int zAt = pTrueFalseText.indexOf( '/' );
        if ( zAt != -1 ) {
            if ( (zAt != 0) && (zAt != (pTrueFalseText.length() - 1)) && (-1 == pTrueFalseText.indexOf( '/', zAt + 1 )) ) {
                return getInstance( pTrueFalseText, zAt );
            }
        }
        throw new IllegalArgumentException( "True &/ False text missing (seperated by a '/')" );
    }

    public static BooleanDisplayOptions get( AttributeMetaData pAMD ) {
        return (BooleanDisplayOptions) pAMD.getProperties().get( MAP_KEY );
    }

    private static synchronized BooleanDisplayOptions getInstance( String pTrueFalseText, int pSepAt ) {
        BooleanDisplayOptions zInstance = sInstances.get( pTrueFalseText );
        if ( zInstance == null ) {
            sInstances.put( pTrueFalseText, zInstance = new BooleanDisplayOptions( pTrueFalseText, pSepAt ) );
        }
        return zInstance;
    }

    private static HashMap<String, BooleanDisplayOptions> sInstances = new HashMap<String, BooleanDisplayOptions>();

    private static final String MAP_KEY = "BooleanDisplayOptions";

    private BooleanDisplayOptions( String pTrueFalseText, int pSepAt ) {
        mTrueText = pTrueFalseText.substring( 0, pSepAt );
        mFalseText = pTrueFalseText.substring( pSepAt + 1 );
    }

    private String mTrueText, mFalseText;

    public String getTrueText() {
        return mTrueText;
    }

    public String getFalseText() {
        return mFalseText;
    }

    @Override
    public String toString() {
        return MAP_KEY + ".of( \"" + mTrueText + '/' + mFalseText + "\" )";
    }

    public String getMapKey() {
        return MAP_KEY;
    }

    @Override
    public boolean equals( Object them ) {
        return (this == them) || ((them != null) && (this.getClass() == them.getClass()) && LLequals( (BooleanDisplayOptions) them ));
    }

    private boolean LLequals( BooleanDisplayOptions them ) {
        return (this.mTrueText.equals( them.mTrueText )) && (this.mFalseText.equals( them.mFalseText ));
    }

    @Override
    public int hashCode() {
        return EqualSupport.hashCodeEm( mTrueText.hashCode(), mFalseText.hashCode() );
    }
}

Commits for litesoft/trunk/Java/core/Anywhere/src/org/litesoft/bo/attributes/BooleanDisplayOptions.java

Diff revisions: vs.
Revision Author Commited Message
950 Diff Diff GeorgeS picture GeorgeS Thu 19 Jun, 2014 17:57:04 +0000

New Lines

948 Diff Diff GeorgeS picture GeorgeS Sat 07 Jun, 2014 23:42:39 +0000

Jusefuls Formatter Updated to New Code Format

947 Diff Diff GeorgeS picture GeorgeS Fri 06 Jun, 2014 23:36:56 +0000

Correct Spelling of package!

939 Diff Diff GeorgeS picture GeorgeS Mon 02 Jun, 2014 21:30:31 +0000

Extracting commonfoundation

801 Diff Diff GeorgeS picture GeorgeS Wed 15 Aug, 2012 03:59:02 +0000
151 Diff Diff GeorgeS picture GeorgeS Thu 17 Mar, 2011 04:16:22 +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