⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feedbackmessagesmodel.java

📁 Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.wicket.feedback;import java.io.Serializable;import java.util.Collections;import java.util.Comparator;import java.util.List;import org.apache.wicket.Component;import org.apache.wicket.Page;import org.apache.wicket.Session;import org.apache.wicket.model.IModel;/** * Model for extracting feedback messages. *  * @author Eelco Hillenius */public class FeedbackMessagesModel implements IModel{	private static final long serialVersionUID = 1L;	/** Message filter */	private IFeedbackMessageFilter filter;	/** Lazy loaded, temporary list. */	private transient List messages;	/** Comparator used for sorting the messages. */	private Comparator sortingComparator;	/**	 * Constructor. Creates a model for all feedback messages on the page.	 * 	 * @param component	 *            The component where the page will be get from for which messages will be displayed	 *            usually the same page as the one feedbackpanel is attached to	 */	public FeedbackMessagesModel(Component component)	{		if (component == null)		{			throw new IllegalArgumentException("Argument [[page]] cannot be null");		}	}	/**	 * Constructor. Creates a model for all feedback messages accepted by the given filter.	 * 	 * @param filter	 *            The filter to apply	 * @param page	 *            Page for which messages will be displayed - usually the same page as the one	 *            feedbackpanel is attached to	 * 	 */	public FeedbackMessagesModel(Page page, IFeedbackMessageFilter filter)	{		this(page);		setFilter(filter);	}	/**	 * @return The current message filter	 */	public final IFeedbackMessageFilter getFilter()	{		return filter;	}	/**	 * @return The current sorting comparator	 */	public final Comparator getSortingComparator()	{		return sortingComparator;	}	/**	 * @see org.apache.wicket.model.IModel#getObject()	 */	public final Object getObject()	{		if (messages == null)		{			// Get filtered messages from page where component lives			messages = Session.get().getFeedbackMessages().messages(filter);			// Sort the list before returning it			if (sortingComparator != null)			{				Collections.sort(messages, sortingComparator);			}			// Let subclass do any extra processing it wants to on the messages.			// It may want to do something special, such as removing a given			// message under some special condition or perhaps eliminate			// duplicate messages. It could even add a message under certain			// conditions.			messages = processMessages(messages);		}		return messages;	}	/**	 * @param filter	 *            Filter to apply to model	 * @return this	 */	public final FeedbackMessagesModel setFilter(IFeedbackMessageFilter filter)	{		this.filter = filter;		return this;	}	/**	 * Sets the comparator used for sorting the messages.	 * 	 * @param sortingComparator	 *            comparator used for sorting the messages	 * @return this	 */	public final FeedbackMessagesModel setSortingComparator(Comparator sortingComparator)	{		if (!(sortingComparator instanceof Serializable))		{			throw new IllegalArgumentException("sortingComparator must be serializable");		}		this.sortingComparator = sortingComparator;		return this;	}	/**	 * Override this method to post process to the FeedbackMessage list.	 * 	 * @param messages	 *            List of sorted and filtered FeedbackMessages for further processing	 * @return The processed FeedbackMessage list	 */	protected List processMessages(final List messages)	{		return messages;	}	/**	 * 	 * @see org.apache.wicket.model.IModel#setObject(java.lang.Object)	 */	public void setObject(Object object)	{	}	/**	 * 	 * @see org.apache.wicket.model.IDetachable#detach()	 */	public void detach()	{		messages = null;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -