001// Copyright 2010 The Apache Software Foundation 002// 003// Licensed under the Apache License, Version 2.0 (the "License"); 004// you may not use this file except in compliance with the License. 005// You may obtain a copy of the License at 006// 007// http://www.apache.org/licenses/LICENSE-2.0 008// 009// Unless required by applicable law or agreed to in writing, software 010// distributed under the License is distributed on an "AS IS" BASIS, 011// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 012// See the License for the specific language governing permissions and 013// limitations under the License. 014 015package org.apache.tapestry5.internal.renderers; 016 017import org.apache.tapestry5.MarkupWriter; 018import org.apache.tapestry5.commons.util.AvailableValues; 019import org.apache.tapestry5.services.ObjectRenderer; 020 021/** 022 * Renders out a {@link AvailableValues} instance as a <div> enclosing a <ul>. 023 * 024 * @since 5.2.0 025 */ 026public class AvailableValuesRenderer implements ObjectRenderer<AvailableValues> 027{ 028 public void render(AvailableValues values, MarkupWriter writer) 029 { 030 writer.element("div", "class", "t-available-values"); 031 032 writer.element("p"); 033 034 writer.writef("%s:", values.getValueType()); 035 036 writer.end(); 037 038 writer.element("ul"); 039 040 for (String value : values.getValues()) 041 { 042 writer.element("li"); 043 writer.write(value); 044 writer.end(); 045 } 046 047 writer.end(); 048 049 writer.end(); // div 050 } 051 052}