001/** 002 * Copyright 2005-2016 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.krad.document; 017 018 019/** 020 * Determines what actions are applicable to the given document, irrespective of user 021 * or other state. These initial actions are used as inputs for further filtering depending 022 * on context. 023 * @see DocumentAuthorizer 024 * @author Kuali Rice Team (rice.collab@kuali.org) 025 */ 026public interface DocumentPresentationController { 027 028 public boolean canInitiate(String documentTypeName); 029 030 public boolean canEdit(Document document); 031 032 public boolean canAnnotate(Document document); 033 034 public boolean canReload(Document document); 035 036 public boolean canClose(Document document); 037 038 public boolean canSave(Document document); 039 040 public boolean canRoute(Document document); 041 042 public boolean canCancel(Document document); 043 044 public boolean canCopy(Document document); 045 046 public boolean canPerformRouteReport(Document document); 047 048 public boolean canAddAdhocRequests(Document document); 049 050 public boolean canBlanketApprove(Document document); 051 052 public boolean canApprove(Document document); 053 054 public boolean canDisapprove(Document document); 055 056 public boolean canSendAdhocRequests(Document document); 057 058 public boolean canSendNoteFyi(Document document); 059 060 public boolean canEditDocumentOverview(Document document); 061 062 public boolean canFyi(Document document); 063 064 public boolean canAcknowledge(Document document); 065 066 public boolean canComplete(Document document); 067 068 /** 069 * @since 2.1 070 */ 071 public boolean canRecall(Document document); 072}