formattribute.java

来自「采用tapestry的简单OA系统」· Java 代码 · 共 58 行

JAVA
58
字号
package com.ejsun.entapps.domain.simpleoa;

import com.ejsun.entapps.domain.simpleoa.util.SerializerFactory;


/**
 * 
 * @author	Quake Wang
 * @since	2004-4-17
 * @version $Revision: 1.4 $
 * 
 **/
public class FormAttribute extends Attribute {
	private Form form;

	public FormAttribute() {
	}

	public FormAttribute(TemplateAttribute templateAttribute) {
		this.name = templateAttribute.name;
		this.valueText = templateAttribute.valueText;
		this.type = templateAttribute.type;
	}

	public Object getValue() {
		return SerializerFactory.getSerializer(type).deserialize(valueText);
	}

	public void setValue(Object value) {
		String newValueText =
			SerializerFactory.getSerializer(type).serialize(value);
		if (valueChanged(newValueText)) {
			if (!form.isDraft()) {
				ChangeItem changeItem = new ChangeItem();
				changeItem.setName(this.name);
				changeItem.setOldValue(this.valueText);
				changeItem.setNewValue(newValueText);
				form.addTempChangeItem(changeItem);
			}
			this.valueText = newValueText;
		}
	}

	private boolean valueChanged(String newValueText) {
		return (newValueText == null && this.valueText != null)
			|| (newValueText != null && !newValueText.equals(this.valueText));
	}

	public Form getForm() {
		return form;
	}

	public void setForm(Form form) {
		this.form = form;
	}

}

⌨️ 快捷键说明

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