Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/ArtifactTypeFilter.java')
-rw-r--r--plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/ArtifactTypeFilter.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/ArtifactTypeFilter.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/ArtifactTypeFilter.java
new file mode 100644
index 00000000000..cd52bc11892
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/ArtifactTypeFilter.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.core.model.access.exp;
+
+import java.util.Collection;
+import java.util.HashSet;
+import org.eclipse.osee.framework.core.data.IArtifactType;
+import org.eclipse.osee.framework.core.enums.PermissionEnum;
+import org.eclipse.osee.framework.core.model.IBasicArtifact;
+
+/**
+ * @author Jeff C. Phillips
+ * @author Roberto E. Escobar
+ */
+public final class ArtifactTypeFilter implements IAcceptFilter<IArtifactType> {
+ private final PermissionEnum toMatch;
+ private final Collection<IArtifactType> itemsToCheck;
+
+ public ArtifactTypeFilter(PermissionEnum toMatch, IArtifactType... itemsToCheck) {
+ this.toMatch = toMatch;
+ this.itemsToCheck = new HashSet<IArtifactType>();
+ if (itemsToCheck != null) {
+ for (IArtifactType type : itemsToCheck) {
+ this.itemsToCheck.add(type);
+ }
+ }
+ }
+
+ @Override
+ public boolean accept(IArtifactType item, IBasicArtifact<?> artifact, PermissionEnum permission) {
+ boolean result = false;
+ if (itemsToCheck != null && itemsToCheck.contains(item)) {
+ result = permission.matches(toMatch);
+ }
+ return result;
+ }
+
+ @Override
+ public IArtifactType getObject(Object object) {
+ IArtifactType toReturn = null;
+ if (object instanceof IArtifactType) {
+ toReturn = (IArtifactType) object;
+ }
+ return toReturn;
+ }
+}

Back to the top