private Collection<DataAndATGUsageInformation> convertConfigurationData( final Map<PidAttributeGroupUsage, Data> allConfigurationData) { final Collection<DataAndATGUsageInformation> dataList = new ArrayList<DataAndATGUsageInformation>(); for (final Map.Entry<PidAttributeGroupUsage, Data> entry : allConfigurationData.entrySet()) { final PidAttributeGroupUsage attributeGroupUsagePids = entry.getKey(); final SystemObject attributeGroup = _connection.getDataModel().getObject(attributeGroupUsagePids.getAttributeGroupPid()); final SystemObject aspect = _connection.getDataModel().getObject(attributeGroupUsagePids.getAspectPid()); if (attributeGroup != null && attributeGroup instanceof AttributeGroup && aspect != null && aspect instanceof Aspect) { final AttributeGroupUsage attributeGroupUsage = ((AttributeGroup) attributeGroup).getAttributeGroupUsage((Aspect) aspect); if (attributeGroupUsage != null) { Data data = entry.getValue(); if (!(data instanceof KExDaVAttributeGroupData)) { data = new KExDaVAttributeGroupData(data, _manager); } dataList.add( new DataAndATGUsageInformation( attributeGroupUsage, ((KExDaVAttributeGroupData) data).toData(_connection.getDataModel()))); } } } return dataList; }
/** * Prüft, ob der angegebene Typ <code>ancestorType</code> in der Typhierarchie oberhalb * angegebenen Typs <code>derivedType</code> vorkommt. Dies ist dann der Fall, wenn <code> * derivedType</code> direkt oder indirekt <code>ancestorType</code> erweitert und damit dessen * Eigenschaften erbt. * * @param derivedType Zu prüfender abgeleiteter Typ * @param ancestorType Zu prüfender übergeordneter Typ * @return <code>true</code> wenn <code>derivedType</code> direkt oder indirekt <code>ancestorType * </code> erweitert, sonst <code>false</code>. */ public boolean inheritsFrom( final SystemObjectType derivedType, final SystemObjectType ancestorType) { final Collection<SystemObjectType> superTypes = getSuperTypes(derivedType); // direkte Vererbung if (superTypes.contains(ancestorType)) return true; // indirekte Vererbung for (SystemObjectType superType : superTypes) { if (inheritsFrom(superType, ancestorType)) return true; } return false; }
/** * Liefert eine Liste der Typ-Objekte die von dem angegebenen Typ-Objekt erweitert werden. * * @return Liste von {@link SystemObjectType Typ-Objekten} */ public Collection<SystemObjectType> getSuperTypes(final SystemObjectType type) { Collection<SystemObjectType> superTypes = new ArrayList<SystemObjectType>(); NonMutableSet set = (NonMutableSet) type.getObjectSet("SuperTypen"); if (set != null) { final Collection<SystemObject> elements = getElements(set); for (SystemObject systemObject : elements) { superTypes.add((SystemObjectType) systemObject); } } return superTypes; }
/** * Erstellt einen Listener auf die Löschung dieses Objekts * * @param e Callback */ public void removeExistenceListener(final ExistenceListener e) { _existenceListeners.remove(e); }
/** * Erstellt einen Listener auf die Erstellung dieses Objekts * * @param e Callback */ public void addExistenceListener(final ExistenceListener e) { _existenceListeners.add(e); }