All pastes #123001 Raw Edit

Anonymous

public text v1 · immutable
·published 2006-08-09 01:56 UTC
rendered paste body
package com.loomis.jsf.component.wiki;

import javax.faces.context.FacesContext;
import javax.faces.render.Renderer;

import org.apache.myfaces.custom.date.HtmlDateRenderer;
import org.apache.myfaces.custom.date.HtmlInputDate;
import org.apache.myfaces.custom.div.Div;

import com.loomis.jsf.component.utils.LSComponentUtil;

public class WikiDate extends HtmlInputDate implements WikiComponent {
	public static final String DEFAULT_RENDERER_TYPE = "com.loomis.jsf.component.wiki.WikiDateRenderer";
	public static final String COMPONENT_TYPE = "com.loomis.jsf.component.wiki.WikiDate";
	public static final String COMPONENT_FAMILY = "javax.faces.Input";
	
	private Boolean wikiEnabled; 
	
	public WikiDate() {
		setRendererType(DEFAULT_RENDERER_TYPE);
	}
	
	public static String getCOMPONENT_FAMILY() {
		return COMPONENT_FAMILY;
	}
	
	public Object saveState(FacesContext context) {
		Object[] values = new Object[2];
		
		values[0] = super.saveState(context);
		values[1] = isWikiEnabled();
		
		return values;
	}
	
	@Override
	public void restoreState(FacesContext context, Object state) {
		Object values[] = (Object[])state;
		
		super.restoreState(context, values[0]);
		if (values[1] != null) setWikiEnabled((Boolean) values[1]);
	}
	
	public Boolean isWikiEnabled() {
		Object objVal = LSComponentUtil.getValue(this, getFacesContext(), "wikiEnabled", Boolean.TRUE);
		
		return wikiEnabled != null ? wikiEnabled : (Boolean)objVal;
	}

	public void setWikiEnabled(Boolean wikiEnabled) {
		this.wikiEnabled = wikiEnabled;
	}

	public Renderer getOriginalRenderer() {
		return new HtmlDateRenderer();
	}

	public Div getDisplayDiv() {
		return new Div();
	}
}