001 /*
002 Licensed to the Apache Software Foundation (ASF) under one
003 or more contributor license agreements. See the NOTICE file
004 distributed with this work for additional information
005 regarding copyright ownership. The ASF licenses this file
006 to you under the Apache License, Version 2.0 (the
007 "License"); you may not use this file except in compliance
008 with the License. You may obtain a copy of the License at
009
010 http://www.apache.org/licenses/LICENSE-2.0
011
012 Unless required by applicable law or agreed to in writing,
013 software distributed under the License is distributed on an
014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 KIND, either express or implied. See the License for the
016 specific language governing permissions and limitations
017 under the License.
018 */
019 package org.apache.wiki.tags;
020
021 import java.io.IOException;
022
023 import org.apache.wiki.WikiPage;
024
025 /**
026 * Writes the version of the current page. If this is
027 * marked as the current version, then includes body as text instead of
028 * version number.
029 *
030 * @since 2.0
031 */
032 public class PageVersionTag
033 extends WikiTagBase
034 {
035 private static final long serialVersionUID = 0L;
036
037 public final int doWikiStartTag()
038 throws IOException
039 {
040 WikiPage page = m_wikiContext.getPage();
041
042 if( page != null )
043 {
044 int version = page.getVersion();
045
046 if( version > 0 )
047 {
048 pageContext.getOut().print( Integer.toString(version) );
049 return SKIP_BODY;
050 }
051 }
052
053 return EVAL_BODY_INCLUDE;
054 }
055 }