Subversion Repository Public Repository

litesoft

Diff Revisions 947 vs 948 for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/objects/SubSystemMetaData.java

Diff revisions: vs.
  @@ -1,27 +1,26 @@
1 1 // This Source Code is in the Public Domain per: http://unlicense.org
2 2 package org.litesoft.aokeyhole.objects;
3 3
4 - import java.io.*;
5 - import java.util.*;
6 -
7 4 import org.litesoft.aokeyhole.objects.factories.*;
8 5 import org.litesoft.aokeyhole.objects.support.*;
9 6 import org.litesoft.aokeyhole.persist.*;
10 7 import org.litesoft.aokeyhole.toolkit.*;
11 8
9 + import java.io.*;
10 + import java.util.*;
11 +
12 12 /**
13 13 * Note all SubSystems are created in unpersist mode
14 14 */
15 - public class SubSystemMetaData extends AbstractNamedOwningMetaData<SystemMetaData, SubSystemMetaData, ObjectMetaData> implements Comparable<SubSystemMetaData>
16 - {
15 + public class SubSystemMetaData extends AbstractNamedOwningMetaData<SystemMetaData, SubSystemMetaData, ObjectMetaData> implements Comparable<SubSystemMetaData> {
17 16 private MetaDataOwnerManager<SubSystemMetaData, ObjectMetaData> mOwnerManager = new MetaDataOwnerManager<SubSystemMetaData, ObjectMetaData>( this );
18 17
19 18 private int mSortIndex;
20 19 private SubSystemPersister mPersister;
21 20 private ObjectFactory mObjectFactory;
22 21
23 - public SubSystemMetaData( boolean pEditable, IdentifierValidator pNameValidator, int pSortIndex, SubSystemPersister pPersister, ObjectFactory pObjectFactory )
24 - {
22 + public SubSystemMetaData( boolean pEditable, IdentifierValidator pNameValidator, int pSortIndex, SubSystemPersister pPersister,
23 + ObjectFactory pObjectFactory ) {
25 24 super( "SubSystem", Mode.Rehydrating, pEditable, pNameValidator, pPersister.getName() );
26 25
27 26 mSortIndex = pSortIndex;
  @@ -30,63 +29,53 @@
30 29 }
31 30
32 31 @Override
33 - public MetaDataOwnerManager<SubSystemMetaData, ObjectMetaData> getOwnerManager()
34 - {
32 + public MetaDataOwnerManager<SubSystemMetaData, ObjectMetaData> getOwnerManager() {
35 33 return mOwnerManager;
36 34 }
37 35
38 36 @Override
39 - public int compareTo( SubSystemMetaData them )
40 - {
37 + public int compareTo( SubSystemMetaData them ) {
41 38 return this.mSortIndex - them.mSortIndex;
42 39 }
43 40
44 41 @Override
45 - protected String updateName( String pName )
46 - {
42 + protected String updateName( String pName ) {
47 43 return getMetaDataType() + " does NOT support Name Change";
48 44 }
49 45
50 46 @Override
51 - public boolean isUsedOwnedName( String pNewName )
52 - {
47 + public boolean isUsedOwnedName( String pNewName ) {
53 48 return getSystemMetaData().isUsedObjectName( pNewName );
54 49 }
55 50
56 51 // If we can succeed at the System level, then need to manage our list of Objects
57 52 @Override
58 - public void reKeyOwnedName( ObjectMetaData pMetaDataOwned, String pNewName )
59 - {
53 + public void reKeyOwnedName( ObjectMetaData pMetaDataOwned, String pNewName ) {
60 54 getSystemMetaData().reKeyObject( pMetaDataOwned, pNewName );
61 55 super.reKeyOwnedName( pMetaDataOwned, pNewName );
62 56 }
63 57
64 - public String[] getSortedParentOptionNames( ObjectSet pObjectSet, String pExcludedName )
65 - {
58 + public String[] getSortedParentOptionNames( ObjectSet pObjectSet, String pExcludedName ) {
66 59 return getSystemMetaData().getSortedParentOptionNames( this, pObjectSet, pExcludedName );
67 60 }
68 61
69 - public ObjectMetaData unpersistObjectMetaData( ObjectSet pObjectSet, String pName, String pParentName )
70 - {
62 + public ObjectMetaData unpersistObjectMetaData( ObjectSet pObjectSet, String pName, String pParentName ) {
71 63 ObjectMetaData md = mObjectFactory.createObjectMetaData( Mode.Rehydrating, isEditable(), pObjectSet, pName );
72 64 getOwnerManager().add( md );
73 65 md.unpersistParentName( pParentName );
74 66 return getSystemMetaData().unpersist( md );
75 67 }
76 68
77 - public void remove( ObjectMetaData pObjectMetaData, ChangeHandler pChanges )
78 - {
69 + public void remove( ObjectMetaData pObjectMetaData, ChangeHandler pChanges ) {
79 70 pChanges.add( new DeleteObject( pObjectMetaData ) );
80 71 getSystemMetaData().remove( pObjectMetaData, pChanges );
81 72 }
82 73
83 - private void remove( ObjectMetaData pObjectMetaData )
84 - {
74 + private void remove( ObjectMetaData pObjectMetaData ) {
85 75 getOwnerManager().remove( pObjectMetaData );
86 76 }
87 77
88 - public ObjectMetaData createObjectMetaData( ObjectSet pObjectSet )
89 - {
78 + public ObjectMetaData createObjectMetaData( ObjectSet pObjectSet ) {
90 79 verifyEditability();
91 80 ObjectMetaData md = mObjectFactory.createObjectMetaData( Mode.New, isEditable(), pObjectSet, null );
92 81 getOwnerManager().add( md );
  @@ -94,36 +83,29 @@
94 83 return md;
95 84 }
96 85
97 - public ObjectMetaData getObject( String pName )
98 - {
86 + public ObjectMetaData getObject( String pName ) {
99 87 return getOwnerManager().getEntry( pName );
100 88 }
101 89
102 - public List<ObjectMetaData> getSortedObjects()
103 - {
90 + public List<ObjectMetaData> getSortedObjects() {
104 91 List<ObjectMetaData> rv = new ArrayList<ObjectMetaData>( getOwnerManager().getEntries() );
105 92 Collections.sort( rv );
106 93 return rv;
107 94 }
108 95
109 96 public SubSystemMetaData loadObjects()
110 - throws IOException
111 - {
97 + throws IOException {
112 98 SubSystemReader zSubSystemReader = mPersister.getReader( getSystemMetaData().getVersion() );
113 - for ( ObjectReader zReader; null != (zReader = zSubSystemReader.nextObject()); )
114 - {
99 + for ( ObjectReader zReader; null != (zReader = zSubSystemReader.nextObject()); ) {
115 100 createObjectFrom( zReader );
116 101 }
117 102 return this;
118 103 }
119 104
120 - private void createObjectFrom( ObjectReader pReader )
121 - {
105 + private void createObjectFrom( ObjectReader pReader ) {
122 106 String zType = pReader.getType();
123 - for ( ObjectSet zSet : mObjectFactory.getObjectSets() )
124 - {
125 - if ( zSet.getType().equals( zType ) )
126 - {
107 + for ( ObjectSet zSet : mObjectFactory.getObjectSets() ) {
108 + if ( zSet.getType().equals( zType ) ) {
127 109 unpersistObjectMetaData( zSet, pReader.getName(), pReader.getParent() ).populateFrom( pReader );
128 110 return;
129 111 }
  @@ -131,30 +113,25 @@
131 113 throw pReader.unrecognizedType( "Unrecognized Object-type '" + zType + "', not" + mObjectFactory.getTypesForError() );
132 114 }
133 115
134 - public SubSystemWriter toSubSystemWriter()
135 - {
116 + public SubSystemWriter toSubSystemWriter() {
136 117 SubSystemBuilder zBuilder = mPersister.getBuilder( getSystemMetaData().getVersion(), getSystemMetaData().getKeyHoleVersion() );
137 118
138 - for ( ObjectMetaData zObject : getSortedObjects() )
139 - {
119 + for ( ObjectMetaData zObject : getSortedObjects() ) {
140 120 zObject.addTo( zBuilder );
141 121 }
142 122
143 123 return zBuilder.done();
144 124 }
145 125
146 - protected class DeleteObject implements ChangeFragment
147 - {
126 + protected class DeleteObject implements ChangeFragment {
148 127 private ObjectMetaData mToDelete;
149 128
150 - public DeleteObject( ObjectMetaData pToDelete )
151 - {
129 + public DeleteObject( ObjectMetaData pToDelete ) {
152 130 mToDelete = pToDelete;
153 131 }
154 132
155 133 @Override
156 - public void commitChange()
157 - {
134 + public void commitChange() {
158 135 remove( mToDelete );
159 136 }
160 137 }