Package clojure.lang

Examples of clojure.lang.ISeq


  public void start(FlowProcess fp, AggregatorCall<Tuple> call) {
    call.setContext(null);
  }

  public void aggregate(FlowProcess fp, AggregatorCall<Tuple> call) {
    ISeq fnArgs = RT.seq(Util.tupleToList(call.getArguments()));
    if (null != prepareFn) {
      fnArgs = RT.seq(Util.coerceToList(prepareFn.applyTo(fnArgs)));
    }
    Tuple context = call.getContext();

    if (null == context) {
      Tuple newContext = Tuple.size(1);
      newContext.set(0, fnArgs);
      call.setContext(newContext);
    } else {
      ISeq acc = (ISeq) context.getObject(0);
      ISeq ret = RT.seq(Util.coerceToList(combineFn.applyTo(Util.cat(acc, fnArgs))));
      context.set(0, ret);
    }
  }
View Full Code Here


    Tuple context = call.getContext();

    if (null == context) {
      throw new RuntimeException("ClojureMonoidAggregator completed with any aggregate calls");
    } else {
      ISeq finalValue = (ISeq) context.getObject(0);
      call.setContext(null);
      if (null != presentFn) {
        call.getOutputCollector().add(
            Util.coerceToTuple(presentFn.applyTo(finalValue)));
      } else {
View Full Code Here

    }
    return applyPrepareFn(args);
  }

  public ISeq applyPrepareFn(TupleEntry args) {
    ISeq input = RT.seq(Util.tupleToList(args));
    if (null != prepareFn) {
      return RT.seq(Util.coerceToList(prepareFn.applyTo(input)));
    } else {
      return input;
    }
View Full Code Here

  public ClojureMapcat(Fields outputFields, IFn fn) {
    super(outputFields, fn);
  }

  public void operate(FlowProcess fp, FunctionCall call) {
    ISeq fnArgs = Util.coerceFromTuple(call.getArguments().getTuple());
    ISeq resultSeq = RT.seq(applyFunction(fnArgs));
    TupleEntryCollector collector = call.getOutputCollector();
    while (resultSeq != null) {
      Object obj = resultSeq.first();
      collector.add(Util.coerceToTuple(obj));
      resultSeq = resultSeq.next();
    }
  }
View Full Code Here

  public ClojureBufferIter(Fields outputFields, IFn fn) {
    super(outputFields, fn);
  }

  public void operate(FlowProcess flow_process, BufferCall call) {
    ISeq resultSeq =
        RT.seq(invokeFunction(new TupleSeqConverter(call.getArgumentsIterator())));
    TupleEntryCollector collector = call.getOutputCollector();
    while (resultSeq != null) {
      Object obj = resultSeq.first();
      collector.add(Util.coerceToTuple(obj));
      resultSeq = resultSeq.next();
    }
  }
View Full Code Here

        return equals(o);
    }

    @Override
    public int hashCode() {
        ISeq s = seq();
        if (s == null)
            return 1;
        return Util.hash(s);
    }
View Full Code Here

        return Util.hash(s);
    }

    @Override
    public int hasheq() {
        ISeq s = seq();
        if (s == null)
            return 1;
        return Util.hasheq(s);
    }
View Full Code Here

        return Util.hasheq(s);
    }

    @Override
    public boolean equals(Object o) {
        ISeq s = seq();
        if (s != null)
            return s.equiv(o);
        else
            return (o instanceof Sequential || o instanceof java.util.List) && seq(o) == null;
    }
View Full Code Here

    return null;
  }

  @Override
  public boolean equiv(Object o) {
    ISeq oseq=RT.seq(o);
    FastSeq head=this;
    while (head!=null) {
      if (oseq==null) return false;
      if (!clojure.lang.Numbers.equiv(head._first, oseq.first())) return false;
      head=head._next;
      oseq=oseq.next();
    }
    return (o==null);
  }
View Full Code Here

TOP

Related Classes of clojure.lang.ISeq

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.