Subversion Repository Public Repository

litesoft

Diff Revisions 949 vs 950 for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/objects/support/AbstractNamedMetaData.java

Diff revisions: vs.
  @@ -1,119 +1,119 @@
1 - // This Source Code is in the Public Domain per: http://unlicense.org
2 - package org.litesoft.aokeyhole.objects.support;
3 -
4 - import org.litesoft.aokeyhole.objects.*;
5 - import org.litesoft.aokeyhole.toolkit.*;
6 -
7 - public abstract class AbstractNamedMetaData<Owner extends MetaDataOwner> extends AbstractDataMetaData {
8 - private Owner mOwner = null;
9 - private final IdentifierValidator mNameValidator;
10 - protected String mName;
11 -
12 - public AbstractNamedMetaData( String pMetaDataType, Mode pMode, boolean pEditable, IdentifierValidator pNameValidator, String pName ) {
13 - super( pMetaDataType, pMode, pEditable );
14 -
15 - mNameValidator = pNameValidator;
16 -
17 - pName = trimEmptyToNull( pName );
18 - switch ( pMode ) {
19 - case Rehydrating:
20 - chkUnhappyCase( validateName( pName ) );
21 - mName = pName;
22 - break;
23 - case New:
24 - if ( pName != null ) {
25 - chkUnhappyCase( validateName( pName ) );
26 - mName = pName;
27 - }
28 - break;
29 - default:
30 - throw new IllegalStateException( "Unacceptable Initial Mode (" + pMode + ") for a " + getClass().getSimpleName() );
31 - }
32 - }
33 -
34 - public Owner getOwner() {
35 - if ( mOwner == null ) {
36 - throw new IllegalStateException( getMetaDataType() + " does NOT have an owner" );
37 - }
38 - return mOwner;
39 - }
40 -
41 - public void setOwner( Owner pOwner ) {
42 - mOwner = pOwner;
43 - }
44 -
45 - public SystemMetaData getSystemMetaData() {
46 - return getOwner().getSystemMetaData();
47 - }
48 -
49 - @Override
50 - protected void LLchanged() {
51 - super.LLchanged();
52 - getOwner().changed();
53 - }
54 -
55 - public IdentifierValidator getNameValidator() {
56 - return mNameValidator;
57 - }
58 -
59 - public String getName() {
60 - return mName;
61 - }
62 -
63 - /**
64 - * @return null or Error
65 - */
66 - @Override
67 - public String validatePersistable() {
68 - if ( mName == null ) {
69 - return "Name Required";
70 - }
71 - return super.validatePersistable();
72 - }
73 -
74 - /**
75 - * @return null or Error
76 - */
77 - public String setName( String pName ) {
78 - verifyEditability();
79 - return updateName( pName );
80 - }
81 -
82 - /**
83 - * @return null or Error
84 - */
85 - protected String updateName( String pName ) {
86 - pName = trimEmptyToNull( pName );
87 - String zError = validateName( pName );
88 - if ( (zError == null) && !pName.equals( mName ) ) {
89 - //noinspection unchecked
90 - getOwner().reKeyOwnedName( this, pName );
91 - mName = pName;
92 - changed();
93 - }
94 - return zError;
95 - }
96 -
97 - private String validateName( String pName ) {
98 - if ( pName == null ) {
99 - return "Name Required";
100 - }
101 - if ( !pName.equals( mName ) ) {
102 - if ( mNameValidator != null ) {
103 - String zError = mNameValidator.validateIdentifier( pName, getMetaDataType() + " Name" );
104 - if ( zError != null ) {
105 - return zError;
106 - }
107 - }
108 - if ( (mOwner != null) && mOwner.isUsedOwnedName( pName ) ) {
109 - return getMetaDataType() + " with name '" + pName + "' already exists";
110 - }
111 - }
112 - return null;
113 - }
114 -
115 - @Override
116 - public String toString() {
117 - return getClass().getSimpleName() + "(" + getMetaDataType() + "):" + mName;
118 - }
119 - }
1 + // This Source Code is in the Public Domain per: http://unlicense.org
2 + package org.litesoft.aokeyhole.objects.support;
3 +
4 + import org.litesoft.aokeyhole.objects.*;
5 + import org.litesoft.aokeyhole.toolkit.*;
6 +
7 + public abstract class AbstractNamedMetaData<Owner extends MetaDataOwner> extends AbstractDataMetaData {
8 + private Owner mOwner = null;
9 + private final IdentifierValidator mNameValidator;
10 + protected String mName;
11 +
12 + public AbstractNamedMetaData( String pMetaDataType, Mode pMode, boolean pEditable, IdentifierValidator pNameValidator, String pName ) {
13 + super( pMetaDataType, pMode, pEditable );
14 +
15 + mNameValidator = pNameValidator;
16 +
17 + pName = trimEmptyToNull( pName );
18 + switch ( pMode ) {
19 + case Rehydrating:
20 + chkUnhappyCase( validateName( pName ) );
21 + mName = pName;
22 + break;
23 + case New:
24 + if ( pName != null ) {
25 + chkUnhappyCase( validateName( pName ) );
26 + mName = pName;
27 + }
28 + break;
29 + default:
30 + throw new IllegalStateException( "Unacceptable Initial Mode (" + pMode + ") for a " + getClass().getSimpleName() );
31 + }
32 + }
33 +
34 + public Owner getOwner() {
35 + if ( mOwner == null ) {
36 + throw new IllegalStateException( getMetaDataType() + " does NOT have an owner" );
37 + }
38 + return mOwner;
39 + }
40 +
41 + public void setOwner( Owner pOwner ) {
42 + mOwner = pOwner;
43 + }
44 +
45 + public SystemMetaData getSystemMetaData() {
46 + return getOwner().getSystemMetaData();
47 + }
48 +
49 + @Override
50 + protected void LLchanged() {
51 + super.LLchanged();
52 + getOwner().changed();
53 + }
54 +
55 + public IdentifierValidator getNameValidator() {
56 + return mNameValidator;
57 + }
58 +
59 + public String getName() {
60 + return mName;
61 + }
62 +
63 + /**
64 + * @return null or Error
65 + */
66 + @Override
67 + public String validatePersistable() {
68 + if ( mName == null ) {
69 + return "Name Required";
70 + }
71 + return super.validatePersistable();
72 + }
73 +
74 + /**
75 + * @return null or Error
76 + */
77 + public String setName( String pName ) {
78 + verifyEditability();
79 + return updateName( pName );
80 + }
81 +
82 + /**
83 + * @return null or Error
84 + */
85 + protected String updateName( String pName ) {
86 + pName = trimEmptyToNull( pName );
87 + String zError = validateName( pName );
88 + if ( (zError == null) && !pName.equals( mName ) ) {
89 + //noinspection unchecked
90 + getOwner().reKeyOwnedName( this, pName );
91 + mName = pName;
92 + changed();
93 + }
94 + return zError;
95 + }
96 +
97 + private String validateName( String pName ) {
98 + if ( pName == null ) {
99 + return "Name Required";
100 + }
101 + if ( !pName.equals( mName ) ) {
102 + if ( mNameValidator != null ) {
103 + String zError = mNameValidator.validateIdentifier( pName, getMetaDataType() + " Name" );
104 + if ( zError != null ) {
105 + return zError;
106 + }
107 + }
108 + if ( (mOwner != null) && mOwner.isUsedOwnedName( pName ) ) {
109 + return getMetaDataType() + " with name '" + pName + "' already exists";
110 + }
111 + }
112 + return null;
113 + }
114 +
115 + @Override
116 + public String toString() {
117 + return getClass().getSimpleName() + "(" + getMetaDataType() + "):" + mName;
118 + }
119 + }