001: /*
002: JSPWiki - a JSP-based WikiWiki clone.
003:
004: Copyright (C) 2001-2006 Janne Jalkanen (Janne.Jalkanen@iki.fi)
005:
006: This program is free software; you can redistribute it and/or modify
007: it under the terms of the GNU Lesser General Public License as published by
008: the Free Software Foundation; either version 2.1 of the License, or
009: (at your option) any later version.
010:
011: This program is distributed in the hope that it will be useful,
012: but WITHOUT ANY WARRANTY; without even the implied warranty of
013: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
014: GNU Lesser General Public License for more details.
015:
016: You should have received a copy of the GNU Lesser General Public License
017: along with this program; if not, write to the Free Software
018: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
019: */
020:
021: package com.ecyrd.jspwiki.event;
022:
023: /**
024: * WikiPageRenameEvent extends WikiPageEvent to indicate a change in
025: * the name of a WikiPage.
026: * <p>
027: * This reuses {@link #getPageName()} to return the new name of the
028: * page, with {@link #getOldPageName()} returning the old name.
029: *
030: * @author Murray Altheim
031: * @see com.ecyrd.jspwiki.event.WikiPageEvent
032: * @since 2.5.108
033: */
034: public class WikiPageRenameEvent extends WikiPageEvent {
035: private static final long serialVersionUID = 1L;
036:
037: /** Indicates a page rename event. This is based on events
038: * generated by {@link com.ecyrd.jspwiki.PageRenamer}. */
039: public static final int PAGE_RENAMED = 28;
040:
041: private String m_oldpagename = null;
042:
043: // ............
044:
045: /**
046: * Constructs an instance of this event.
047: *
048: * @param src the Object that is the source of the event.
049: * @param oldname the old name of the WikiPage being acted upon.
050: * @param newname the new name of the WikiPage being acted upon.
051: */
052: public WikiPageRenameEvent(Object src, String oldname,
053: String newname) {
054: super (src, PAGE_RENAMED, newname);
055: m_oldpagename = oldname;
056: }
057:
058: /**
059: * Returns the old Wiki page name associated with this event.
060: * This may be null if unavailable.
061: *
062: * @return the old Wiki page name associated with this WikiEvent, or null.
063: */
064: public String getOldPageName() {
065: return m_oldpagename;
066: }
067:
068: /**
069: * Returns the new Wiki page name associated with this event. This
070: * returns the same value as the superclass' {@link #getPageName()}.
071: * This may be null if unavailable.
072: *
073: * @return the new Wiki page name associated with this WikiEvent, or null.
074: */
075: public String getNewPageName() {
076: return super .getPageName();
077: }
078:
079: /**
080: * Returns true if the int value is a WikiPageRenameEvent type.
081: */
082: public static boolean isValidType(int type) {
083: return type >= PAGE_LOCK && type <= PAGE_RENAMED;
084: }
085:
086: /**
087: * Returns a textual representation of the event type.
088: * @return a String representation of the type
089: */
090: public String eventName() {
091: return "PAGE_RENAMED";
092: // switch ( getType() )
093: // {
094: // case PAGE_RENAMED: return "PAGE_RENAMED";
095: // default: return super.eventName();
096: // }
097: }
098:
099: /** Returns a human-readable description of the event type.
100: * @return a String description of the type
101: */
102: public String getTypeDescription() {
103: return "page renamed event";
104: // switch ( getType() )
105: // {
106: // case PAGE_RENAMED: return "page renamed event";
107: // default: return super.getTypeDescription();
108: // }
109: }
110:
111: } // end class com.ecyrd.jspwiki.event.WikiPageRenameEvent
|