2021SC@SDUSC
FreeMarker代码分析第七篇
- util包
- IdentityHashMap.java
-
- ModelCache.java
-
- ModelFactory.java
-
- WrapperTemplateModel.java
-
util包
IdentityHashMap.java
代码分析
package freemarker.ext.util;
import java.util.AbstractCollection;
import java.util.AbstractMap;
import java.util.AbstractSet;
import java.util.Collection;
import java.util.ConcurrentModificationException;
import java.util.Iterator;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
@SuppressWarnings("rawtypes")
@Deprecated
public class IdentityHashMap
extends AbstractMap
implements Map, Cloneable, java.io.Serializable {
public static final long serialVersionUID = 362498820763181265L;
private transient Entry table[];
private transient int count;
ModelCache.java
代码分析
package freemarker.ext.util;
import java.lang.ref.ReferenceQueue;
import java.lang.ref.SoftReference;
import java.util.IdentityHashMap;
import java.util.Map;
import freemarker.template.TemplateModel;
import freemarker.template.TemplateModelAdapter;
public abstract class ModelCache {
private boolean useCache = false;
private Map
ModelFactory.java
代码分析
package freemarker.ext.util;
import freemarker.template.ObjectWrapper;
import freemarker.template.TemplateModel;
public interface ModelFactory {
TemplateModel create(Object object, ObjectWrapper wrapper);
}
WrapperTemplateModel.java
代码分析
package freemarker.ext.util;
import freemarker.template.TemplateModel;
public interface WrapperTemplateModel extends TemplateModel {
public Object getWrappedObject();
}