1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.jetspeed.om.folder.impl; 18 19 import java.util.Collection; 20 import java.util.List; 21 22 import org.apache.jetspeed.om.folder.MenuDefinition; 23 import org.apache.jetspeed.om.page.PageMetadataImpl; 24 25 /*** 26 * FolderMenuDefinitionImpl 27 * 28 * @author <a href="mailto:rwatler@apache.org">Randy Watler</a> 29 * @version $Id:$ 30 */ 31 public class FolderMenuDefinitionImpl extends BaseMenuDefinitionImpl implements MenuDefinition, FolderMenuDefinitionElement 32 { 33 // new class defined only to facilitate OJB table/class mapping 34 35 private FolderMenuDefinitionElementList menuElements; 36 37 /* (non-Javadoc) 38 * @see org.apache.jetspeed.om.folder.impl.BaseMenuDefinitionMetadata#newPageMetadata() 39 */ 40 public PageMetadataImpl newPageMetadata(Collection fields) 41 { 42 PageMetadataImpl pageMetadata = new PageMetadataImpl(FolderMenuMetadataLocalizedFieldImpl.class); 43 pageMetadata.setFields(fields); 44 return pageMetadata; 45 } 46 47 /* (non-Javadoc) 48 * @see org.apache.jetspeed.om.folder.MenuDefinition#getMenuElements() 49 */ 50 public List getMenuElements() 51 { 52 // return mutable menu element list 53 // by using list wrapper to manage 54 // element order 55 if (menuElements == null) 56 { 57 menuElements = new FolderMenuDefinitionElementList(this); 58 } 59 return menuElements; 60 } 61 }