package kz.arta.synergy.workflow.mobile.android.files.manager;

/**
 * Created by neox on 02.10.15.
 * Права используемые в модуле "Хранилище"
 */
public class FilesRights {

    /**
     * Право на добавление нового элемента
     */
    public static final int ADD = 2;

    /**
     * Право на удаление элемента
     */
    public static final int DELETE = 4;

    /**
     * Право на загрузку документа
     */
    public static final int LOAD_DOCUMENT = 524288;

    /**
     * Право на перемещение элемента
     */
    public static final int MOVE = 2097152;

    /**
     * Метод использутся для проверки прав на ноду
     * Права формируются суммой чисел, поэтому если в числе exist содержится число rights - значит право right на текущий элемент есть
     *
     * @param exist текущие права ноды
     * @param right права, на которые проверяются имеются ли права
     * @return true -  есть права, false - прав нет
     */
    public static boolean checkRight(Object exist, int right) {
        return exist instanceof Integer && (((Integer) exist) & right) == right;
    }
}
