package gw.vark.typeloader;
import gw.lang.reflect.IType;
import gw.lang.reflect.ITypeInfo;
import gw.lang.reflect.ITypeLoader;
import gw.lang.reflect.TypeBase;
import gw.lang.reflect.java.IJavaType;
import gw.lang.reflect.java.JavaTypes;
import gw.util.GosuClassUtil;
import gw.util.concurrent.LockingLazyVar;
import java.util.Collections;
import java.util.List;
public class AntlibType extends TypeBase
implements IType {
private String _name;
private ITypeLoader _loader;
private String _url;
private LockingLazyVar<ITypeInfo> _typeInfo = new LockingLazyVar<ITypeInfo>() {
@Override
protected ITypeInfo
init() {
return new AntlibTypeInfo(_url, AntlibType.this);
}
};
public AntlibType(String name, String url, ITypeLoader loader) {
_url = url;
_name = name;
_loader = loader;
}
@Override
return _name;
}
@Override
return GosuClassUtil.getNameNoPackage(getName());
}
@Override
return GosuClassUtil.getPackage(getName());
}
@Override
return _loader;
}
@Override
return JavaTypes.OBJECT();
}
@Override
return Collections.emptyList();
}
@Override
return _typeInfo.get();
}
}