Subversion Repository Public Repository

litesoft

Diff Revisions 949 vs 950 for /trunk/Java/InterModuleComm/InterModuleComm/src/InterModuleComm/WelcomeMessage.java

Diff revisions: vs.
  @@ -1,90 +1,91 @@
1 - // This Source Code is in the Public Domain per: http://unlicense.org
2 - package InterModuleComm;
3 -
4 - import org.litesoft.commonfoundation.typeutils.*;
5 -
6 - public final class WelcomeMessage implements Message {
7 - protected static final String PREFIX =
8 - Constants.PROTOCOL_PREFIX + ModuleMsgLifecycleForm.Welcome + Constants.NV_SEP;
9 -
10 - private String mKnownAs;
11 - private String mId;
12 -
13 - protected WelcomeMessage( String pKnownAs, String pId ) {
14 - mKnownAs = pKnownAs;
15 - mId = pId;
16 - }
17 -
18 - @Override
19 - public String toString() {
20 - return getHeader();
21 - }
22 -
23 - public String ToSendText() {
24 - return getHeader() + "\n";
25 - }
26 -
27 - public String getHeader() {
28 - return PREFIX + getKnownAs() + Constants.SPECIAL_ID_SEP + getId();
29 - }
30 -
31 - public String getKnownAs() {
32 - return mKnownAs;
33 - }
34 -
35 - public String getId() {
36 - return mId;
37 - }
38 -
39 - public static class Builder {
40 - private String mKnownAs;
41 - private String mId;
42 -
43 - public static Builder FromHeader( String pHeader ) {
44 - if ( (pHeader != null) && pHeader.startsWith( PREFIX ) ) {
45 - String zRest = Strings.trimLeadingSpaces( pHeader.substring( PREFIX.length() ) );
46 - int zSepAt = zRest.indexOf( Constants.SPECIAL_ID_SEP );
47 - if ( zSepAt != -1 ) {
48 - String zKnownAs = zRest.substring( 0, zSepAt ).trim();
49 - String zId = zRest.substring( zSepAt + 1 ).trim();
50 - return FromParams( zKnownAs, zId );
51 - }
52 - }
53 - return null;
54 - }
55 -
56 - private Builder( String pKnownAs, String pId ) {
57 - mKnownAs = pKnownAs;
58 - mId = pId;
59 - }
60 -
61 - private static Builder FromParams( String pKnownAs, String pId ) {
62 - pKnownAs = Strings.noEmpty( pKnownAs );
63 - pId = Strings.noEmpty( pId );
64 - if ( Strings.isAsciiIdentifier( pKnownAs ) && Strings.isNoSpaceAscii( pId ) ) {
65 - return new Builder( pKnownAs, pId );
66 - }
67 - return null;
68 - }
69 -
70 - public static Builder Acknowledge( HelloMessage pHelloMessage, String pKnownAs ) {
71 - pKnownAs = Strings.noEmpty( pKnownAs );
72 - if ( (pHelloMessage != null) && Strings.isAsciiIdentifier( pKnownAs ) ) {
73 - return FromParams( pKnownAs, pHelloMessage.getId() );
74 - }
75 - return null;
76 - }
77 -
78 - public WelcomeMessage ToMsg() {
79 - return new WelcomeMessage( getKnownAs(), getId() );
80 - }
81 -
82 - public String getKnownAs() {
83 - return mKnownAs;
84 - }
85 -
86 - public String getId() {
87 - return mId;
88 - }
89 - }
90 - }
1 + // This Source Code is in the Public Domain per: http://unlicense.org
2 + package InterModuleComm;
3 +
4 + import org.litesoft.commonfoundation.base.*;
5 + import org.litesoft.commonfoundation.typeutils.*;
6 +
7 + public final class WelcomeMessage implements Message {
8 + protected static final String PREFIX =
9 + Constants.PROTOCOL_PREFIX + ModuleMsgLifecycleForm.Welcome + Constants.NV_SEP;
10 +
11 + private String mKnownAs;
12 + private String mId;
13 +
14 + protected WelcomeMessage( String pKnownAs, String pId ) {
15 + mKnownAs = pKnownAs;
16 + mId = pId;
17 + }
18 +
19 + @Override
20 + public String toString() {
21 + return getHeader();
22 + }
23 +
24 + public String ToSendText() {
25 + return getHeader() + "\n";
26 + }
27 +
28 + public String getHeader() {
29 + return PREFIX + getKnownAs() + Constants.SPECIAL_ID_SEP + getId();
30 + }
31 +
32 + public String getKnownAs() {
33 + return mKnownAs;
34 + }
35 +
36 + public String getId() {
37 + return mId;
38 + }
39 +
40 + public static class Builder {
41 + private String mKnownAs;
42 + private String mId;
43 +
44 + public static Builder FromHeader( String pHeader ) {
45 + if ( (pHeader != null) && pHeader.startsWith( PREFIX ) ) {
46 + String zRest = Strings.trimLeadingSpaces( pHeader.substring( PREFIX.length() ) );
47 + int zSepAt = zRest.indexOf( Constants.SPECIAL_ID_SEP );
48 + if ( zSepAt != -1 ) {
49 + String zKnownAs = zRest.substring( 0, zSepAt ).trim();
50 + String zId = zRest.substring( zSepAt + 1 ).trim();
51 + return FromParams( zKnownAs, zId );
52 + }
53 + }
54 + return null;
55 + }
56 +
57 + private Builder( String pKnownAs, String pId ) {
58 + mKnownAs = pKnownAs;
59 + mId = pId;
60 + }
61 +
62 + private static Builder FromParams( String pKnownAs, String pId ) {
63 + pKnownAs = ConstrainTo.significantOrNull( pKnownAs );
64 + pId = ConstrainTo.significantOrNull( pId );
65 + if ( Strings.isAsciiIdentifier( pKnownAs ) && Strings.isNoSpaceAscii( pId ) ) {
66 + return new Builder( pKnownAs, pId );
67 + }
68 + return null;
69 + }
70 +
71 + public static Builder Acknowledge( HelloMessage pHelloMessage, String pKnownAs ) {
72 + pKnownAs = ConstrainTo.significantOrNull( pKnownAs );
73 + if ( (pHelloMessage != null) && Strings.isAsciiIdentifier( pKnownAs ) ) {
74 + return FromParams( pKnownAs, pHelloMessage.getId() );
75 + }
76 + return null;
77 + }
78 +
79 + public WelcomeMessage ToMsg() {
80 + return new WelcomeMessage( getKnownAs(), getId() );
81 + }
82 +
83 + public String getKnownAs() {
84 + return mKnownAs;
85 + }
86 +
87 + public String getId() {
88 + return mId;
89 + }
90 + }
91 + }