/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * 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 org.uberfire.security.authz; import org.jboss.errai.common.client.api.annotations.Portable; @Portable public enum AuthorizationResult { ACCESS_GRANTED(1), ACCESS_ABSTAIN(0), ACCESS_DENIED(-1); private int result = 0; AuthorizationResult() { this(0); } AuthorizationResult(int result) { this.result = result; } public AuthorizationResult invert() { switch (result) { case 1: return ACCESS_DENIED; case -1: return ACCESS_GRANTED; default: return ACCESS_ABSTAIN; } } @Override public String toString() { switch (result) { case 1: return "ACCESS_GRANTED"; case -1: return "ACCESS_DENIED"; default: return "ACCESS_ABSTAIN"; } } }