Class PermissionsHelper

java.lang.Object
de.elo.mover.main.helper.PermissionsHelper

public class PermissionsHelper extends Object

Überschrift: PermissionsHelper.

Beschreibung: Hilfsklasse für Berechtigungsoperationen.

Copyright: Copyright (c) ELO Digital Office GmbH 2018 - 2021

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    assignAclToSubtree(IXconnect ixConnect, int objId, String newAcl)
    Vererbt die Berechtigungen an dem angegebenen Eintrag.
    static boolean
    Prüft, ob das Recht "Berechtigungen ändern" vorhanden ist.
    static boolean
    canChangeWorkspace(int access)
    Meldet zurück, ob das Recht "Workspace ändern" vorhanden ist.
    static boolean
    canDelete(int access)
    Prüft, ob das Recht "Löschen" vorhanden ist.
    static boolean
    canEdit(int access)
    Prüft, ob das Recht "Dokument bearbeiten" vorhanden ist.
    static boolean
    canEverything(int access)
    Prüft, ob alle Rechte (RWDELX) in den angegebenen Flags vorhanden sind.
    static boolean
    canList(int access)
    Prüft, ob das Recht "Listen bearbeiten" vorhanden ist.
    static boolean
    canRead(int access)
    Prüft, ob das Recht "Lesen" in den angegebenen Flags vorhanden ist.
    static boolean
    canWrite(int access)
    Prüft, ob das Recht "Schreiben" vorhanden ist.
    static de.elo.ix.client.AclItem[]
    cloneAclItems(de.elo.ix.client.AclItem[] origAclItems)
    Liefert eine Liste mit den kopierten Berechtigungen zurück.
    static de.elo.ix.client.AclItem[]
    Erzeugt eine Liste mit einem Default "AclItem"-Eintrag.
    static de.elo.ix.client.CryptInfo
    createCryptInfo(IXconnect ixConnect, int id, String name, String password, String keyInfo)
    Erzeugt ein "CryptInfo"-Objekt mit den angegebenen Daten.
    static int
    getAccess(String rights)
    Liefert den Berechtigungswert für die angegebenen Berechtigung-Flags zurück.
    static String
    getAclItemRights(de.elo.ix.client.AclItem aclItem)
    Liefert einen String mit den vorhandenen Rechten zurück.
    static de.elo.ix.client.AclItem[]
    getAclItemsFromString(IXconnect ixConnect, String aclDescr)
    Erzeugt ein AclItem-Array aus der String-Darstellung der ACL.
    static String
    getAclItemsRights(de.elo.ix.client.AclItem[] aclItems)
    Liefert eine Liste mit den Beschreibungen der angegebenen Berechtigungen zurück.
    static de.elo.ix.client.ValueClass[]
    getAndGroups(de.elo.ix.client.AclItem[] aclItems)
    Liefert eine Liste mit den UND-Gruppen zurück.
    static ArrayList<de.elo.ix.client.AclItem>
    getArrayList(de.elo.ix.client.AclItem[] aclItems)
    Liefert ein "ArrayList"-Objekt aus der angegebenen Liste mit Berechtigungen zurück.
    static String
    getDiffAcls(IXconnect ixConnect, de.elo.ix.client.AclItem[] firstAclItems, de.elo.ix.client.AclItem[] secAclItems)
    Liefert den Berechtigungsunterschied als String zurück.
    static String
    getDiffAcls(IXconnect ixConnect, de.elo.ix.client.Sord firstSord, de.elo.ix.client.Sord secondSord)
    Liefert den Berechtigungsunterschied als String zurück.
    static ArrayList<de.elo.ix.client.AclItem[]>
    getPermissions(IXconnect ixConnect, int parentId)
    Liefert eine Liste mit den vorhandenen Berechtigungen des angegebenen Ordners zurück.
    static String
    getRightName(int accessC)
    Liefert die Bezeichnung des angegebenen Berechtigungsflags zurück.
    static String
    getStringFromAclItems(IXconnect ixConnect, de.elo.ix.client.AclItem[] aclItems)
    Liefert die Textdarstellung für die angegebene Liste mit Berechtigungen zurück.
    static de.elo.ix.client.UserName[]
    getUserNames(IXconnect ixConnect, int groupId)
    Liefert die Mitglieder der angegeben Gruppe zurück.
    static de.elo.ix.client.UserName[]
    getUserNames(IXconnect ixConnect, String groupName)
    Liefert die Mitglieder der angegebenen Gruppe zurück.
    static boolean
    hasAccessRights(IXconnect ixConnect, String sordId, int userId, int expectRights)
    Meldet zurück, ob der Eintrag die angegebenen Berechtigungen besitzt.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender neue Ordner hinzufügen darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Administrationsrechte besitzt.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender den Maskentyp nachträglich verändern darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Berechtigungen ändern darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Dokumente löschen darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Dokumentversionen löschen darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Ordner löschen darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Benutzer das Repository bearbeiten darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Dokumente bearbeiten darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Skripte bearbeiten darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Workflows bearbeiten darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Dokumente exportieren darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender eine Volltext Lizenz besitzt.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Dokumente importieren darf.
    static boolean
    hasRight(IXconnect ixConnect, int flag)
    Meldet zurück, ob das angegebene Benutzerrecht vorhanden ist.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Dokumente sehen darf.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Workflows starten kann.
    static boolean
    Meldet zurück, ob der aktuell angemeldete Anwender Subadmin-Rechte hat.
    static boolean
    Meldet zurück, ob der ISearch Fulltext aktiviert wurde.
    static boolean
    isSet(int accessFlag, de.elo.ix.client.AclItem aclItem)
    Meldet zurück, ob das entsprechende Flag gesetzt ist.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PermissionsHelper

      public PermissionsHelper()
  • Method Details

    • getUserNames

      public static de.elo.ix.client.UserName[] getUserNames(IXconnect ixConnect, int groupId) throws Exception
      Liefert die Mitglieder der angegeben Gruppe zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      groupId - ID der Gruppe
      Returns:
      Mitglieder der Gruppe
      Throws:
      Exception
    • getUserNames

      public static de.elo.ix.client.UserName[] getUserNames(IXconnect ixConnect, String groupName) throws Exception
      Liefert die Mitglieder der angegebenen Gruppe zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      groupName - Name der Gruppe
      Returns:
      Mitglieder der Gruppe
      Throws:
      Exception
    • canRead

      public static boolean canRead(int access) throws Exception
      Prüft, ob das Recht "Lesen" in den angegebenen Flags vorhanden ist.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Das Recht "Lesen" ist vorhanden
      Throws:
      Exception
    • canWrite

      public static boolean canWrite(int access) throws Exception
      Prüft, ob das Recht "Schreiben" vorhanden ist. Dies ist bei einem Dokument für das Schreiben der Metadaten vorgesehen.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Das Recht "Schreiben" ist vorhanden
      Throws:
      Exception
    • canDelete

      public static boolean canDelete(int access) throws Exception
      Prüft, ob das Recht "Löschen" vorhanden ist.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Das Recht "Löschen" ist vorhanden
      Throws:
      Exception
    • canEdit

      public static boolean canEdit(int access) throws Exception
      Prüft, ob das Recht "Dokument bearbeiten" vorhanden ist. Dies ist bei Dokumenten für das Aus-/Einchecken vorgesehen.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Das Recht "Dokument bearbeiten" ist vorhanden
      Throws:
      Exception
    • canList

      public static boolean canList(int access) throws Exception
      Prüft, ob das Recht "Listen bearbeiten" vorhanden ist. Dies ist für das Anlegen von neuen Elementen in einem Ordner vorgesehen.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Das Recht "Listen bearbeiten" ist vorhanden
      Throws:
      Exception
    • canChangePermissions

      public static boolean canChangePermissions(int access) throws Exception
      Prüft, ob das Recht "Berechtigungen ändern" vorhanden ist.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Das Recht "Berechtigungen ändern" ist vorhanden
      Throws:
      Exception
    • canChangeWorkspace

      public static boolean canChangeWorkspace(int access) throws Exception
      Meldet zurück, ob das Recht "Workspace ändern" vorhanden ist.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Das Recht "Workspace ändern" ist vorhanden
      Throws:
      Exception
    • canEverything

      public static boolean canEverything(int access) throws Exception
      Prüft, ob alle Rechte (RWDELX) in den angegebenen Flags vorhanden sind.
      Parameters:
      access - Berechtigungsflags
      Returns:
      Alle Rechte (RWDELX) sind vorhanden
      Throws:
      Exception
    • getAclItemRights

      public static String getAclItemRights(de.elo.ix.client.AclItem aclItem) throws Exception
      Liefert einen String mit den vorhandenen Rechten zurück.
      Parameters:
      aclItem - Berechtigung
      Returns:
      String mit den vorhandenen Rechten
      Throws:
      Exception
    • getAclItemsRights

      public static String getAclItemsRights(de.elo.ix.client.AclItem[] aclItems) throws Exception
      Liefert eine Liste mit den Beschreibungen der angegebenen Berechtigungen zurück.
      Parameters:
      aclItems - Liste mit Berechtigungen
      Returns:
      Liste mit den Beschreibungen
      Throws:
      Exception
    • getAccess

      public static int getAccess(String rights) throws Exception
      Liefert den Berechtigungswert für die angegebenen Berechtigung-Flags zurück.
      Parameters:
      rights - Berechtigung-Flags
      Returns:
      Berechtigungswert
      Throws:
      Exception
    • isSet

      public static boolean isSet(int accessFlag, de.elo.ix.client.AclItem aclItem) throws Exception
      Meldet zurück, ob das entsprechende Flag gesetzt ist.
      Parameters:
      accessFlag - Flag
      aclItem - Berechtigung
      Returns:
      Flag ist gesetzt
      Throws:
      Exception
    • getStringFromAclItems

      public static String getStringFromAclItems(IXconnect ixConnect, de.elo.ix.client.AclItem[] aclItems) throws Exception
      Liefert die Textdarstellung für die angegebene Liste mit Berechtigungen zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      aclItems - Liste mit Berechtigungen
      Returns:
      Textdarstellung der Berechtigungseinstellung
      Throws:
      Exception
    • getAclItemsFromString

      public static de.elo.ix.client.AclItem[] getAclItemsFromString(IXconnect ixConnect, String aclDescr) throws Exception
      Erzeugt ein AclItem-Array aus der String-Darstellung der ACL.
      Parameters:
      ixConnect - Indexserver-Verbindung
      aclDescr - Textdarstellung der Berechtigungen
      Returns:
      Liste mit AclItem-Objekten
      Throws:
      Exception
    • getAndGroups

      public static de.elo.ix.client.ValueClass[] getAndGroups(de.elo.ix.client.AclItem[] aclItems) throws Exception
      Liefert eine Liste mit den UND-Gruppen zurück.
      Parameters:
      aclItems - Liste mit Berechtigungen
      Returns:
      Liste mit UND-Gruppen
      Throws:
      Exception
    • assignAclToSubtree

      public static void assignAclToSubtree(IXconnect ixConnect, int objId, String newAcl) throws Exception
      Vererbt die Berechtigungen an dem angegebenen Eintrag.
      Parameters:
      ixConnect - Indexserver-Verbindung
      objId - Id des Eintrags
      newAcl - Neue Berechtigungen
      Throws:
      Exception
    • getDiffAcls

      public static String getDiffAcls(IXconnect ixConnect, de.elo.ix.client.Sord firstSord, de.elo.ix.client.Sord secondSord) throws Exception
      Liefert den Berechtigungsunterschied als String zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      firstSord - Ester Eintrag
      secondSord - Zweiter Eintrag
      Returns:
      Berechtigungsunterschied als String
      Throws:
      Exception
    • getDiffAcls

      public static String getDiffAcls(IXconnect ixConnect, de.elo.ix.client.AclItem[] firstAclItems, de.elo.ix.client.AclItem[] secAclItems) throws Exception
      Liefert den Berechtigungsunterschied als String zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      firstAclItems - Erste Berechtigungen
      secAclItems - Andere Berechtugungen
      Returns:
      Berechtigungsunterschied als String
      Throws:
      Exception
    • hasRight

      public static boolean hasRight(IXconnect ixConnect, int flag) throws Exception
      Meldet zurück, ob das angegebene Benutzerrecht vorhanden ist.
      Parameters:
      ixConnect - Indexserver-Verbindung
      flag - Benutzerrecht
      Returns:
      Benutzerrecht ist vorhanden
      Throws:
      Exception
    • hasAdminRight

      public static boolean hasAdminRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Administrationsrechte besitzt.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Administrationsrechte besitzt
      Throws:
      Exception
    • hasSubAdminRight

      public static boolean hasSubAdminRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Subadmin-Rechte hat.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Subadmin-Rechte hat
      Throws:
      Exception
    • hasEditArchiveRight

      public static boolean hasEditArchiveRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Benutzer das Repository bearbeiten darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Benutzer das Repository bearbeiten darf
      Throws:
      Exception
    • hasShowDocumentRight

      public static boolean hasShowDocumentRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Dokumente sehen darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Dokumente sehen darf
      Throws:
      Exception
    • hasChangeMaskRight

      public static boolean hasChangeMaskRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender den Maskentyp nachträglich verändern darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender die Maske nachträglich verändern darf
      Throws:
      Exception
    • hasChangePermissionsRight

      public static boolean hasChangePermissionsRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Berechtigungen ändern darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Berechtigungen ändern darf
      Throws:
      Exception
    • hasStartWorkflowRight

      public static boolean hasStartWorkflowRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Workflows starten kann.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Workflows starten kann
      Throws:
      Exception
    • hasEditWorkflowRight

      public static boolean hasEditWorkflowRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Workflows bearbeiten darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Workflows bearbeiten darf
      Throws:
      Exception
    • hasDeleteDocumentsRight

      public static boolean hasDeleteDocumentsRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Dokumente löschen darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Dokumente löschen darf
      Throws:
      Exception
    • hasDeleteDocVersionsRight

      public static boolean hasDeleteDocVersionsRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Dokumentversionen löschen darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Dokumentversionen löschen darf
      Throws:
      Exception
    • hasDeleteStructuresRight

      public static boolean hasDeleteStructuresRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Ordner löschen darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Ordner löschen darf
      Throws:
      Exception
    • hasAddFolderRight

      public static boolean hasAddFolderRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender neue Ordner hinzufügen darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender neue Ordner hinzufügen darf
      Throws:
      Exception
    • hasEditDocumentRight

      public static boolean hasEditDocumentRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Dokumente bearbeiten darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der aktuell angemeldete Anwender Dokumente bearbeiten darf
      Throws:
      Exception
    • hasImportRight

      public static boolean hasImportRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Dokumente importieren darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Dokumente importieren darf
      Throws:
      Exception
    • hasExportRight

      public static boolean hasExportRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Dokumente exportieren darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Dokumente exportieren darf
      Throws:
      Exception
    • hasEditScriptRight

      public static boolean hasEditScriptRight(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender Skripte bearbeiten darf.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      True, falls der Anwender Skripte bearbeiten darf
      Throws:
      Exception
    • hasFulltextLicense

      public static boolean hasFulltextLicense(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der aktuell angemeldete Anwender eine Volltext Lizenz besitzt.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      Volltext Lizenz vorhanden
      Throws:
      Exception
    • isIsearchFulltext

      public static boolean isIsearchFulltext(IXconnect ixConnect) throws Exception
      Meldet zurück, ob der ISearch Fulltext aktiviert wurde.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      ISearch ISearch Fulltext ist aktiv
      Throws:
      Exception
    • getPermissions

      public static ArrayList<de.elo.ix.client.AclItem[]> getPermissions(IXconnect ixConnect, int parentId) throws Exception
      Liefert eine Liste mit den vorhandenen Berechtigungen des angegebenen Ordners zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      parentId - ID des Ordners
      Returns:
      Liste mit den Berechtigungen
      Throws:
      Exception
    • cloneAclItems

      public static de.elo.ix.client.AclItem[] cloneAclItems(de.elo.ix.client.AclItem[] origAclItems) throws Exception
      Liefert eine Liste mit den kopierten Berechtigungen zurück.
      Parameters:
      origAclItems - Liste mit Berechtigungen
      Returns:
      Neue Liste mit kopierten Berechtigungen
      Throws:
      Exception
    • createAclItemList

      public static de.elo.ix.client.AclItem[] createAclItemList(IXconnect ixConnect) throws Exception
      Erzeugt eine Liste mit einem Default "AclItem"-Eintrag.
      Parameters:
      ixConnect - Indexserver-Verbindung
      Returns:
      Liste mit einem Default "AclItem"-Eintrag
      Throws:
      Exception
    • createCryptInfo

      public static de.elo.ix.client.CryptInfo createCryptInfo(IXconnect ixConnect, int id, String name, String password, String keyInfo) throws Exception
      Erzeugt ein "CryptInfo"-Objekt mit den angegebenen Daten.
      Parameters:
      ixConnect - Indexserver-Verbindung
      id - ID des "CryptInfo"-Objektes
      name - Bezeichnung des "CryptInfo"-Objektes
      password - Passwort des "CryptInfo"-Objektes
      keyInfo - KeyInfo
      Returns:
      Neues "CryptInfo"-Objekt
      Throws:
      Exception
    • getArrayList

      public static ArrayList<de.elo.ix.client.AclItem> getArrayList(de.elo.ix.client.AclItem[] aclItems)
      Liefert ein "ArrayList"-Objekt aus der angegebenen Liste mit Berechtigungen zurück.
      Parameters:
      aclItems - Liste mit Berechtigungen
      Returns:
      ArrayList mit Berechtigungen
    • getRightName

      public static String getRightName(int accessC)
      Liefert die Bezeichnung des angegebenen Berechtigungsflags zurück.
      Parameters:
      accessC - Berechtigungsflag
      Returns:
      Bezeichnung des Berechtigungsflags oder leeren String
    • hasAccessRights

      public static boolean hasAccessRights(IXconnect ixConnect, String sordId, int userId, int expectRights) throws Exception
      Meldet zurück, ob der Eintrag die angegebenen Berechtigungen besitzt.
      Parameters:
      ixConnect - Indexserver-Verbindung
      sordId - ID/GUID des Eintrags
      userId - Benutzer ID
      expectRights - Erwartete Berechtigungen
      Returns:
      Eintrag hat die Berechtigungen
      Throws:
      Exception