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.page.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.folder.impl.BaseMenuDefinitionImpl; 24 import org.apache.jetspeed.om.page.PageMetadataImpl; 25 26 /*** 27 * PageMenuDefinitionImpl 28 * 29 * @author <a href="mailto:rwatler@apache.org">Randy Watler</a> 30 * @version $Id:$ 31 */ 32 public class PageMenuDefinitionImpl extends BaseMenuDefinitionImpl implements MenuDefinition, PageMenuDefinitionElement 33 { 34 // new class defined only to facilitate OJB table/class mapping 35 36 private PageMenuDefinitionElementList menuElements; 37 38 /* (non-Javadoc) 39 * @see org.apache.jetspeed.om.folder.impl.BaseMenuDefinitionMetadata#newPageMetadata() 40 */ 41 public PageMetadataImpl newPageMetadata(Collection fields) 42 { 43 PageMetadataImpl pageMetadata = new PageMetadataImpl(PageMenuMetadataLocalizedFieldImpl.class); 44 pageMetadata.setFields(fields); 45 return pageMetadata; 46 } 47 48 /* (non-Javadoc) 49 * @see org.apache.jetspeed.om.folder.MenuDefinition#getMenuElements() 50 */ 51 public List getMenuElements() 52 { 53 // return mutable menu element list 54 // by using list wrapper to manage 55 // element order 56 if (menuElements == null) 57 { 58 menuElements = new PageMenuDefinitionElementList(this); 59 } 60 return menuElements; 61 } 62 }