/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.metamodels.core.util;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
/**
* CoreUtil
*
* @since 8.0
*/
public class CoreUtil {
/**
* Construct an instance of CoreUtil.
*/
private CoreUtil() {
super();
}
public static void removePropertyDescriptor( final List descriptors,
final EStructuralFeature[] features ) {
if (features == null || features.length == 0 || descriptors == null) {
return;
}
final Set featureSet = new HashSet();
for (int i = 0; i < features.length; ++i) {
final EStructuralFeature feature = features[i];
featureSet.add(feature);
}
removePropertyDescriptor(descriptors, featureSet);
}
public static void removePropertyDescriptor( final List descriptors,
final Set features ) {
if (features == null || features.size() == 0 || descriptors == null) {
return;
}
final Iterator iter = descriptors.iterator();
while (iter.hasNext()) {
final ItemPropertyDescriptor desc = (ItemPropertyDescriptor)iter.next();
if (features.contains(desc.getFeature(null))) {
iter.remove();
}
}
}
public static void removePropertyDescriptor( final List descriptors,
final EStructuralFeature feature ) { // NO_UCD
if (feature == null || descriptors == null) {
return;
}
final Iterator iter = descriptors.iterator();
while (iter.hasNext()) {
final ItemPropertyDescriptor desc = (ItemPropertyDescriptor)iter.next();
if (feature.equals(desc.getFeature(null))) {
iter.remove();
}
}
}
}