001/* 002 * (C) Copyright 2010 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache 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.apache.org/licenses/LICENSE-2.0 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 * 016 * Contributors: 017 * Anahide Tchertchian 018 */ 019package org.nuxeo.ecm.platform.contentview.jsf; 020 021import java.io.Serializable; 022 023/** 024 * Content view layout definition 025 * 026 * @author Anahide Tchertchian 027 * @since 5.4 028 */ 029public interface ContentViewLayout extends Serializable { 030 031 /** 032 * Returns the name of the layout 033 */ 034 String getName(); 035 036 /** 037 * Returns a title for this content view layout 038 */ 039 String getTitle(); 040 041 /** 042 * Returns a boolean stating if title has to be translated 043 */ 044 boolean getTranslateTitle(); 045 046 /** 047 * Returns the icon relative path for this content view layout 048 */ 049 String getIconPath(); 050 051 /** 052 * Returns true if CSV export is enabled for this layout. Defaults to false. 053 * 054 * @since 5.4.2 055 */ 056 boolean getShowCSVExport(); 057 058 /** 059 * Returns true if PDF export is enabled for this layout. Defaults to false. 060 * 061 * @since 5.4.2 062 */ 063 boolean getShowPDFExport(); 064 065 /** 066 * Returns true if syndication links are enabled for this layout. Defaults to false. 067 * 068 * @since 5.5 069 */ 070 boolean getShowSyndicationLinks(); 071 072 /** 073 * Returns true if 'slide show' link is enabled for this layout. Defaults to false. 074 * 075 * @since 6.0 076 */ 077 boolean getShowSlideshow(); 078 079 /** 080 * Returns true if 'edit columns' link is enabled for this layout. Defaults to false. 081 * 082 * @since 6.0 083 */ 084 boolean getShowEditColumns(); 085 086 /** 087 * Returns true if 'edit rows' link is enabled for this layout. Defaults to false. 088 * <p> 089 * This marker is only useful to handle layout column selection when columns are actually rows (or display content 090 * differently that using columns). 091 * 092 * @since 6.0 093 */ 094 boolean getShowEditRows(); 095 096 /** 097 * Returns true if 'spreadsheet' link is enabled for this layout. Defaults to false. 098 * 099 * @since 6.0 100 */ 101 boolean getShowSpreadsheet(); 102 103 /** 104 * Returns the filter display type to handle different kinds of filter display. 105 * 106 * @since 5.5 107 */ 108 String getFilterDisplayType(); 109 110 /** 111 * Returns true is the filter should be unfolded by default. 112 * <p> 113 * Does not have any impact on the filter display if filter display type is "quick" (i.e. opens in a popup) 114 * 115 * @since 5.7.2 116 */ 117 boolean isFilterUnfolded(); 118 119 ContentViewLayout clone(); 120 121}