001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.jetspeed.om.folder.psml;
018:
019: /**
020: * This class implements a wrapper used to implement
021: * the ordered polymorphic menu elements collection.
022: *
023: * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
024: * @version $Id: MenuElementImpl.java 516448 2007-03-09 16:25:47Z ate $
025: */
026: public class MenuElementImpl {
027: /**
028: * element - wrapped menu element
029: */
030: private Object element;
031:
032: /**
033: * MenuElementImpl - constructor
034: */
035: public MenuElementImpl() {
036: }
037:
038: /**
039: * MenuElementImpl - constructor
040: */
041: public MenuElementImpl(Object element) {
042: this .element = element;
043: }
044:
045: /**
046: * getOption - get wrapped menu element
047: */
048: public Object getElement() {
049: return element;
050: }
051:
052: /**
053: * getOption - get wrapped menu options definition
054: */
055: public MenuOptionsDefinitionImpl getOptions() {
056: if (element instanceof MenuOptionsDefinitionImpl) {
057: return (MenuOptionsDefinitionImpl) element;
058: }
059: return null;
060: }
061:
062: /**
063: * setOption - set wrapped menu options definition
064: *
065: * @param options menu options definition
066: */
067: public void setOptions(MenuOptionsDefinitionImpl options) {
068: this .element = options;
069: }
070:
071: /**
072: * getMenu - get wrapped menu menu definition
073: */
074: public MenuDefinitionImpl getMenu() {
075: if (element instanceof MenuDefinitionImpl) {
076: return (MenuDefinitionImpl) element;
077: }
078: return null;
079: }
080:
081: /**
082: * setMenu - set wrapped menu menu definition
083: *
084: * @param menu menu definition
085: */
086: public void setMenu(MenuDefinitionImpl menu) {
087: this .element = menu;
088: }
089:
090: /**
091: * getSeparator - get wrapped menu separator definition
092: */
093: public MenuSeparatorDefinitionImpl getSeparator() {
094: if (element instanceof MenuSeparatorDefinitionImpl) {
095: return (MenuSeparatorDefinitionImpl) element;
096: }
097: return null;
098: }
099:
100: /**
101: * setSeparator - set wrapped menu separator definition
102: *
103: * @param separator menu separator definition
104: */
105: public void setSeparator(MenuSeparatorDefinitionImpl separator) {
106: this .element = separator;
107: }
108:
109: /**
110: * getInclude - get wrapped menu include definition
111: */
112: public MenuIncludeDefinitionImpl getInclude() {
113: if (element instanceof MenuIncludeDefinitionImpl) {
114: return (MenuIncludeDefinitionImpl) element;
115: }
116: return null;
117: }
118:
119: /**
120: * setInclude - set wrapped menu include definition
121: *
122: * @param include menu include definition
123: */
124: public void setInclude(MenuIncludeDefinitionImpl include) {
125: this .element = include;
126: }
127:
128: /**
129: * getExclude - get wrapped menu exclude definition
130: */
131: public MenuExcludeDefinitionImpl getExclude() {
132: if (element instanceof MenuExcludeDefinitionImpl) {
133: return (MenuExcludeDefinitionImpl) element;
134: }
135: return null;
136: }
137:
138: /**
139: * setExclude - set wrapped menu exclude definition
140: *
141: * @param exclude menu exclude definition
142: */
143: public void setExclude(MenuExcludeDefinitionImpl exclude) {
144: this.element = exclude;
145: }
146: }
|