Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2004-2005 Revolution Systems Inc.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.revolsys.ui.html.view;
 
 import java.util.List;
 
 
 
 public class MenuView extends ObjectView {
   private static final Logger log = Logger.getLogger(MenuView.class);
   private String cssClass = "menu";
 
   private int numLevels = 1;
 
   private boolean showRoot;
 
   public void processProperty(final String namefinal Object value) {
     String stringValue = (String)value;
     if (name.equals("cssClass")) {
        = value.toString();
     } else if (name.equals("numLevels")) {
        = Integer.parseInt(stringValue);
     } else if (name.equals("menuName")) {
       WebUiContext context = WebUiContext.get();
       setObject(context.getMenu(stringValue));
       if (getObject() == null) {
         throw new IllegalArgumentException("Menu " + value + " does not exist");
       }
     } else if (name.equals("showRoot")) {
        = Boolean.valueOf(stringValue).booleanValue();
     }
   }
 
   public void serializeElement(final XmlWriter out) {
     Menu menu = (Menu)getObject();
     if (menu != null) {
       List menuItems = new ArrayList();
       for (Iterator items = menu.getItems().iterator(); items.hasNext();) {
         MenuItem menuItem = (MenuItem)items.next();
         if (menuItem.isVisible()) {
           menuItems.add(menuItem);
         }
       }
       if ( || !menuItems.isEmpty()) {
         out.startTag(.);
         out.attribute(.);
 
         if () {
           out.startTag(.);
           out.attribute(."title");
           menuItemLink(outmenu);
           out.endTag(.);
 
         }
 
         menu(outmenuItems, 1);
 
         out.endTag(.);
       }
     }
   }
 
   private void menu(final XmlWriter outfinal Collection itemsfinal int level)
     {
     // Collection items = menu.getItems();
     if (items.size() > 0) {
       out.startTag(.);
       for (Iterator menuItemIter = items.iterator(); menuItemIter.hasNext();) {
         MenuItem menuItem = (MenuItem)menuItemIter.next();
         if (menuItem.isVisible()) {
           out.startTag(.);
 
           String cssClass = menuItem.getProperty("cssClass");
           if (cssClass != null) {
             out.attribute(.cssClass);
           }
           menuItemLink(outmenuItem);
          if (level <  && menuItem instanceof Menu) {
            menu(out, ((Menu)menuItem).getItems(), level + 1);
          }
          out.endTag(.);
        }
      }
      out.endTag(.);
      out.startTag(.);
      out.attribute(."end");
      out.entityRef("nbsp");
      out.endTag(.);
    }
  }
  private void menuItemLink(final XmlWriter outfinal MenuItem menuItem)
    {
    String uri = menuItem.getUri();
    if (uri != null) {
      out.startTag(.);
      out.attribute(.uri);
      out.attribute(.menuItem.getTitle());
      out.text(menuItem.getTitle());
      out.endTag(.);
    } else {
      out.text(menuItem.getTitle());
    }
  }
New to GrepCode? Check out our FAQ X