litesoft
@ 947
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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.aokeyhole.objects.factories; import java.util.*; import org.litesoft.aokeyhole.objects.*; public abstract class PropertyMetaDataDefinitionAccessorImpl implements PropertyMetaDataDefinitionAccessor { private String mVersion; private ObjectSet[] mObjectSets; private AttributeSet[] mAttributeSets; protected PropertyMetaDataDefinitionAccessorImpl( String pVersion, ObjectSet[] pObjectSets, AttributeSet... pAttributeSets ) { mVersion = pVersion; mObjectSets = pObjectSets; mAttributeSets = pAttributeSets; } protected PropertyMetaDataDefinitionAccessorImpl( String pVersion, ObjectSet pObjectSet, AttributeSet... pAttributeSets ) { this( pVersion, new ObjectSet[]{pObjectSet}, pAttributeSets ); } @Override public final String getVersion() { return mVersion; } @Override public final ObjectSet[] getObjectSets() { return mObjectSets; } @Override public final AttributeSet[] getAttributeSets() { return mAttributeSets; } @Override public final boolean shouldShowParent( SubSystemMetaData pSubSystemMetaData, ObjectSet pObjectSet ) { return (null != pObjectSet.getParentLabel( pSubSystemMetaData.getName() )); } @Override public final String[] getSortedParentOptionNames( SubSystemMetaData pSubSystemMetaData, ObjectSet pObjectSet, String pExcludedName ) { List<String> zAcceptable = new ArrayList<String>(); ObjectMetaData[] zObjectMetaDatas = pSubSystemMetaData.getSystemMetaData().getSortedObjectMetaDatas(); for ( ObjectMetaData zMD : zObjectMetaDatas ) { String zName = zMD.getName(); if ( !zName.equals( pExcludedName ) && pObjectSet.isAcceptableParentOption( zMD.getObjectSet().getType() ) ) { zAcceptable.add( zName ); } } return zAcceptable.toArray( new String[zAcceptable.size()] ); } protected static Set<String> createSet( String... pOptions ) { return augmentSet( new HashSet<String>(), pOptions ); } protected static Set<String> createSet( Set<String> pSetToAddAllFrom, String... pOptions ) { return augmentSet( new HashSet<String>( pSetToAddAllFrom ), pOptions ); } private static Set<String> augmentSet( Set<String> pSet, String[] pOptions ) { if ( pOptions != null ) { for ( String zOption : pOptions ) { if ( zOption != null ) { pSet.add( zOption ); } } } return pSet; } } |