/* * Copyright (c) 2010-2016 Evolveum * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.evolveum.midpoint.web.component.assignment; import com.evolveum.midpoint.gui.api.GuiStyleConstants; import com.evolveum.midpoint.xml.ns._public.common.common_3.*; import javax.xml.namespace.QName; /** * @author lazyman */ public enum AssignmentEditorDtoType { ORG_UNIT(OrgType.class, OrgType.COMPLEX_TYPE, GuiStyleConstants.CLASS_OBJECT_ORG_ICON), ROLE(RoleType.class, RoleType.COMPLEX_TYPE, GuiStyleConstants.CLASS_OBJECT_ROLE_ICON), SERVICE(ServiceType.class, ServiceType.COMPLEX_TYPE, GuiStyleConstants.CLASS_OBJECT_SERVICE_ICON), USER(UserType.class, UserType.COMPLEX_TYPE, GuiStyleConstants.CLASS_OBJECT_USER_ICON), CONSTRUCTION(null, null, GuiStyleConstants.CLASS_OBJECT_RESOURCE_ICON); private Class<? extends ObjectType> type; private QName qname; private String iconCssClass; private AssignmentEditorDtoType(Class<? extends ObjectType> type, QName qname, String iconCssClass) { this.type = type; this.qname = qname; this.iconCssClass = iconCssClass; } public Class<? extends ObjectType> getType() { return type; } public QName getQname() { return qname; } public static AssignmentEditorDtoType getType(Class<? extends ObjectType> type) { if (type == null) { return CONSTRUCTION; } for (AssignmentEditorDtoType e : AssignmentEditorDtoType.values()) { if (type.equals(e.getType())) { return e; } } throw new IllegalArgumentException("Unknown assignment type '" + type.getName() + "'."); } public static AssignmentEditorDtoType getType(QName type) { if (type == null) { return CONSTRUCTION; } for (AssignmentEditorDtoType e : AssignmentEditorDtoType.values()) { if (type.equals(e.getQname())) { return e; } } throw new IllegalArgumentException("Unknown assignment type '" + type + "'."); } public String getIconCssClass() { return iconCssClass; } }