/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.ObjectModelException
 *  com.l7tech.objectmodel.PersistentEntity
 *  com.l7tech.objectmodel.RoleAwareEntityManager
 *  com.l7tech.objectmodel.SaveException
 *  com.l7tech.objectmodel.folder.Folder
 *  com.l7tech.objectmodel.folder.FolderHeader
 *  com.l7tech.objectmodel.folder.FolderedEntityManager
 */
package com.l7tech.server.folder;

import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.objectmodel.RoleAwareEntityManager;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.objectmodel.folder.Folder;
import com.l7tech.objectmodel.folder.FolderHeader;
import com.l7tech.objectmodel.folder.FolderedEntityManager;

public interface FolderManager
extends FolderedEntityManager<Folder, FolderHeader>,
RoleAwareEntityManager<Folder> {
    public Folder findRootFolder() throws FindException;

    public Folder findByPath(String var1) throws FindException;

    public Folder createPath(String var1) throws FindException, SaveException;

    public void addManageFolderRole(Folder var1) throws SaveException;

    public void addReadonlyFolderRole(Folder var1) throws SaveException;

    public static interface VisitFolderCallback {
        public void apply(PersistentEntity var1, FolderedEntityManager<? extends PersistentEntity, ? extends EntityHeader> var2) throws ObjectModelException;
    }
}

