All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.protege.webprotege.perspective.PerspectiveLayoutRepository Maven / Gradle / Ivy

The newest version!
package edu.stanford.protege.webprotege.perspective;

import edu.stanford.protege.webprotege.persistence.Repository;
import edu.stanford.protege.webprotege.common.ProjectId;
import edu.stanford.protege.webprotege.common.UserId;

import javax.annotation.Nonnull;
import java.util.List;
import java.util.Optional;

/**
 * Matthew Horridge
 * Stanford Center for Biomedical Informatics Research
 * 2020-08-31
 */
public interface PerspectiveLayoutRepository extends Repository {

    @Nonnull
    Optional findLayout(@Nonnull ProjectId projectId,
                                                 @Nonnull UserId userId,
                                                 @Nonnull PerspectiveId perspectiveId);

    @Nonnull
    Optional findLayout(@Nonnull ProjectId projectId,
                                                 @Nonnull PerspectiveId perspectiveId);

    @Nonnull
    Optional findLayout(@Nonnull PerspectiveId perspectiveId);

    void saveLayout(PerspectiveLayoutRecord record);

    void saveLayouts(@Nonnull List layout);

    void dropLayout(@Nonnull ProjectId projectId,
                    @Nonnull UserId userId,
                    @Nonnull PerspectiveId perspectiveId);

    void dropAllLayouts(@Nonnull ProjectId projectId, @Nonnull UserId userId);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy