001package net.gdface.utils;
002
003/**
004 * 延迟初始化(Lazy initialization)变量封装接口
005 * @author guyadong
006 *
007 * @param <T> 延迟变量类型
008 */
009public interface ILazyInitVariable<T> {
010        public static abstract class BaseLazyVar<T> implements ILazyInitVariable<T>{
011                /**
012                 * 返回 T 实例
013                 * @return
014                 */
015                abstract protected T doGet() ;
016        }
017        /**
018         * 返回延迟初始化的 T 实例 
019         * @return
020         */
021        public T get();
022}