/*
Copyright 2018 Red Hat, Inc.

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.jboss.as.cli.impl.aesh.cmd.security.model;

import java.util.List;

/**
 * The set of attributes exposed by a mechanism configuration.
 *
 * @author jdenise@redhat.com
 */
public interface MechanismConfiguration {

    String getRealmName();

    String getRoleDecoder();

    String getRoleMapper();

    default List<String> getRoles() {
        return null;
    }

    default void setRoleMapper(String roleMapper) {
    }

    String getRealmMapper();

    String getExposedRealmName();

    void setRealmMapperName(String constantMapper);
}
