clojure.lang.Var.validate()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 其他  
字(3.2k)|赞(0)|评价(0)|浏览(106)

本文整理了Java中clojure.lang.Var.validate()方法的一些代码示例,展示了Var.validate()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Var.validate()方法的具体详情如下:
包路径:clojure.lang.Var
类名称:Var
方法名:validate

Var.validate介绍

暂无

代码示例

代码示例来源:origin: org.dunaj/clojure

public void setValidator(IFn vf){
  if(hasRoot())
    validate(vf, root);
  validator = vf;
}

代码示例来源:origin: videlalvaro/clochure

public void setValidator(IFn vf){
  if(hasRoot())
    validate(vf, root);
  validator = vf;
}

代码示例来源:origin: videlalvaro/clochure

synchronized public void commuteRoot(IFn fn) {
  Object newRoot = fn.invoke(root);
  validate(getValidator(), newRoot);
  Object oldroot = root;
  this.root = newRoot;
  ++rev;
  notifyWatches(oldroot,newRoot);
}

代码示例来源:origin: videlalvaro/clochure

public Object set(Object val){
  validate(getValidator(), val);
  TBox b = getThreadBinding();
  if(b != null)
    {
    if(Thread.currentThread() != b.thread)
      throw new IllegalStateException(String.format("Can't set!: %s from non-binding thread", sym));
    return (b.val = val);
    }
  throw new IllegalStateException(String.format("Can't change/establish root binding of: %s with set", sym));
}

代码示例来源:origin: org.dunaj/clojure

public Object set(Object val){
  validate(getValidator(), val);
  TBox b = getThreadBinding();
  if(b != null)
    {
    if(Thread.currentThread() != b.thread)
      throw new IllegalStateException(String.format("Can't set!: %s from non-binding thread", sym));
    return (b.val = val);
    }
  throw new IllegalStateException(String.format("Can't change/establish root binding of: %s with set", sym));
}

代码示例来源:origin: org.dunaj/clojure

synchronized void swapRoot(Object root){
  validate(getValidator(), root);
  Object oldroot = this.root;
  this.root = root;
  ++rev;
  notifyWatches(oldroot,root);
}

代码示例来源:origin: videlalvaro/clochure

synchronized void swapRoot(Object root){
  validate(getValidator(), root);
  Object oldroot = this.root;
  this.root = root;
  ++rev;
  notifyWatches(oldroot,root);
}

代码示例来源:origin: videlalvaro/clochure

synchronized public void bindRoot(Object root){
  validate(getValidator(), root);
  Object oldroot = this.root;
  this.root = root;
  ++rev;
  try
    {
    alterMeta(dissoc, RT.list(macroKey));
    }
  catch (Exception e)
    {
    throw Util.sneakyThrow(e);
    }
  notifyWatches(oldroot,this.root);
}

代码示例来源:origin: org.dunaj/clojure

synchronized public void commuteRoot(IFn fn) {
  Object newRoot = fn.invoke(root);
  validate(getValidator(), newRoot);
  Object oldroot = root;
  this.root = newRoot;
  ++rev;
  notifyWatches(oldroot,newRoot);
}

代码示例来源:origin: org.dunaj/clojure

public static void pushThreadBindings(Associative bindings){
  Frame f = dvals.get();
  Associative bmap = f.bindings;
  for(ISeq bs = bindings.seq(); bs != null; bs = bs.next())
    {
    IMapEntry e = (IMapEntry) bs.first();
    Var v = (Var) e.key();
    if(!v.dynamic)
      throw new IllegalStateException(String.format("Can't dynamically bind non-dynamic var: %s/%s", v.ns, v.sym));
    v.validate(v.getValidator(), e.val());
    v.threadBound.set(true);
    bmap = bmap.assoc(v, new TBox(Thread.currentThread(), e.val()));
    }
  dvals.set(new Frame(bmap, f));
}

代码示例来源:origin: org.dunaj/clojure

synchronized public void bindRoot(Object root){
  validate(getValidator(), root);
  Object oldroot = this.root;
  this.root = root;
  ++rev;
    alterMeta(dissoc, RT.list(macroKey));
  notifyWatches(oldroot,this.root);
}

代码示例来源:origin: org.dunaj/clojure

synchronized public Object alterRoot(IFn fn, ISeq args) {
  Object newRoot = fn.applyTo(RT.cons(root, args));
  validate(getValidator(), newRoot);
  Object oldroot = root;
  this.root = newRoot;
  ++rev;
  notifyWatches(oldroot,newRoot);
  return newRoot;
}

相关文章