1 /* 2 * Copyright 1999-2002,2004 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.apache.cocoon.portal.layout; 17 18 import org.apache.cocoon.portal.factory.Producible; 19 20 21 /** 22 * 23 * @author <a HREF="mailto:cziegeler@s-und-n.de">Carsten Ziegeler</a> 24 * @author <a HREF="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a> 25 * 26 * @version CVS $Id: Layout.java 37339 2004-09-01 14:25:30Z cziegeler $ 27 */ 28 public interface Layout 29 extends Parameters, Producible { 30 31 /** 32 * Get the name of the {@link org.apache.cocoon.portal.layout.renderer.Renderer} to draw this layout. 33 * If this layout has an own renderer {@link #getLayoutRendererName()} 34 * return this, otherwise the default renderer is returned. 35 * @return String The role name 36 */ 37 String getRendererName(); 38 39 /** 40 * Get the name of a custom {@link org.apache.cocoon.portal.layout.renderer.Renderer} for this layout. 41 * @return String The role name 42 */ 43 String getLayoutRendererName(); 44 45 Item getParent(); 46 47 void setParent(Item item); 48 49 /** 50 * Make a copy of this layout object and of all it's children. 51 * This includes copies of items and copletinstancedatas. 52 */ 53 Layout copy(); 54 55 } 56