AdminProvider.java 1.55 KB
Newer Older
1 2 3 4
/**
 * $Revision$
 * $Date$
 *
5
 * Copyright (C) 2005-2008 Jive Software. All rights reserved.
6
 *
7 8 9 10 11 12 13 14 15 16 17
 * 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.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
 */
package org.jivesoftware.openfire.admin;

import org.xmpp.packet.JID;

import java.util.List;

/**
 * An AdminProvider handles storage of information about admin accounts, and requests to
 * set the list of admin users.
 *
 * @author Daniel Henninger
 */
public interface AdminProvider {

    /**
     * Returns a list of JIDs of accounts with administrative privileges.
     *
     * @return The list of admin users.
     */
    public List<JID> getAdmins();

    /**
     * Sets the list of admin accounts, by JID.
     *
     * @param admins List of JIDs of accounts to grant admin access to.
     */
    public void setAdmins(List<JID> admins);

    /**
     * Indicates whether the admin list is read-only or not.  In other words, whether an admin can
     * change who is an admin from the Openfire admin interface.
     *
     * @return True or false if the admin list can be edited.
     */
    public boolean isReadOnly();

}