001/*
002 * The contents of this file are subject to the license and copyright
003 * detailed in the LICENSE and NOTICE files at the root of the source
004 * tree.
005 */
006package org.fcrepo.kernel.api.operations;
007
008
009/**
010 * A builder for constructing resource operations
011 *
012 * @author bbpennel
013 */
014public interface ResourceOperationBuilder {
015
016    /**
017     * Set the principal for the user performing the operation
018     *
019     * @param userPrincipal user principal
020     * @return this builder
021     */
022    ResourceOperationBuilder userPrincipal(String userPrincipal);
023
024    /**
025     * Build the ResourceOperation constructed by this builder
026     *
027     * @return the constructed operation
028     */
029    ResourceOperation build();
030}