/* LangEvalRef.java Purpose: Description: History: Wed Sep 5 10:58:14 2007, Created by tomyeh Copyright (C) 2007 Potix Corporation. All Rights Reserved. {{IS_RIGHT This program is distributed under LGPL Version 2.1 in the hope that it will be useful, but WITHOUT ANY WARRANTY. }}IS_RIGHT */ package org.zkoss.zk.ui.metainfo; import org.zkoss.zk.xel.Evaluator; /** * The evaluator reference based on language definition. * Used by {@link LangaugeDefinition} only. * * @author tomyeh * @since 3.0.0 */ /*package*/ class LangEvalRef extends AbstractEvalRef implements java.io.Serializable { private transient LanguageDefinition _langdef; /*package*/ LangEvalRef(LanguageDefinition langdef) { _langdef = langdef; } //EvaluatorRef// public Evaluator getEvaluator() { return _langdef.getEvaluator(); } //Serializable// //NOTE: they must be declared as private private synchronized void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { s.defaultWriteObject(); s.writeObject(_langdef != null ? _langdef.getName() : null); } private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException { s.defaultReadObject(); final String langnm = (String) s.readObject(); if (langnm != null) _langdef = LanguageDefinition.lookup(langnm); } };