Subversion Repository Public Repository

litesoft

Diff Revisions 193 vs 787 for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/objects/AttributeMetaData.java

Diff revisions: vs.
  @@ -1,13 +1,13 @@
1 1 // This Source Code is in the Public Domain per: http://litesoft.org/License.txt
2 2 package org.litesoft.aokeyhole.objects;
3 3
4 - import java.util.*;
5 -
6 4 import org.litesoft.aokeyhole.objects.support.*;
5 + import org.litesoft.aokeyhole.persist.*;
7 6 import org.litesoft.aokeyhole.toolkit.*;
8 7 import org.litesoft.core.simpletypes.nonpublic.*;
9 8
10 - public abstract class AttributeMetaData extends AbstractNamedMetaData<ObjectMetaData> implements MinimalAttributeMetaData, ViewSupportable,
9 + public abstract class AttributeMetaData extends AbstractNamedMetaData<ObjectMetaData> implements MinimalAttributeMetaData,
10 + ViewSupportable,
11 11 Comparable<AttributeMetaData>
12 12 {
13 13 public static final String ID_NAME = "ID";
  @@ -17,7 +17,8 @@
17 17 private final PropertyManager mPropertyManager;
18 18 private String mNotes = null;
19 19
20 - protected AttributeMetaData( AttributeSet pAttributeSet, Mode pMode, boolean pEditable, boolean pVirtual, PropertyMetaData[] pPropertyMetaDatas, IdentifierValidator pNameValidator, String pName )
20 + protected AttributeMetaData( AttributeSet pAttributeSet, Mode pMode, boolean pEditable, boolean pVirtual, PropertyMetaData[] pPropertyMetaDatas,
21 + IdentifierValidator pNameValidator, String pName )
21 22 {
22 23 super( pAttributeSet.getType().toString(), pMode, pEditable, pNameValidator, pName );
23 24
  @@ -110,20 +111,19 @@
110 111 return mPropertyManager.updatePropertyValue( pName, pValue );
111 112 }
112 113
113 - public void populateFrom( ToLinesObjectsParseStream pOPS )
114 + public void populateFrom( AttributeReader pReader )
114 115 {
115 - while ( pOPS.isNextDepth( 3 ) ) // Properties
116 + for ( PropertyReader zReader; null != (zReader = pReader.nextProperty()); )
116 117 {
117 - pOPS.readLine();
118 - String zName = pOPS.getWhat();
119 - String zData = pOPS.getData();
120 - if ( AttribNames.NOTES.equals( zName ) )
118 + String zWhat = zReader.getWhat();
119 + String zData = zReader.getData();
120 + if ( ObjectNames.NOTES.equals( zWhat ) )
121 121 {
122 122 unpersistNotes( zData );
123 123 }
124 124 else
125 125 {
126 - mPropertyManager.unpersistProperty( zName, zData );
126 + mPropertyManager.unpersistProperty( zWhat, zData );
127 127 }
128 128 }
129 129 }
  @@ -145,25 +145,16 @@
145 145 return (error != null) ? error : mPropertyManager.validatePersistable();
146 146 }
147 147
148 - @Override
149 - public void addLines( List<String> pCollector, int pIndent )
150 - {
151 - pCollector.add( "" );
152 - StringBuilder sb = startLine( pIndent );
153 - addLineExtra( sb );
154 - pCollector.add( sb.toString() );
155 - pIndent += 2;
156 - addNonNullLine( pCollector, pIndent, AttribNames.NOTES, getNotes() );
157 - mPropertyManager.addLines( pCollector, pIndent );
158 - }
159 -
160 - @Override
161 - protected String getStartLineMetaDataTypePrefix()
148 + public void addTo( ObjectBuilder pBuilder )
162 149 {
163 - return isVirtual() ? ObjectNames.VIRTUAL_PREFIX : "";
150 + AttributeBuilder zBuilder = pBuilder.createAttributeBuilder( getMetaDataType(), isVirtual(), getName(),
151 + SingleLineNotes.convertStringToLines( getNotes() ),
152 + getAdditionalValues() );
153 + mPropertyManager.addTo( zBuilder );
154 + zBuilder.done();
164 155 }
165 156
166 - abstract protected void addLineExtra( StringBuilder pSb );
157 + abstract protected String[] getAdditionalValues();
167 158
168 159 @Override
169 160 public void setUpView( NameValuesComponent pNameValuesComponent )