Sha256: e03b0958ca23760d655e2c23394b49ebff4a179fb77780cf4a3ef8257d17fabb

Contents?: true

Size: 1.09 KB

Versions: 56

Compression:

Stored size: 1.09 KB

Contents

package nokogiri.internals.c14n;

import nokogiri.XmlNode;
import nokogiri.internals.NokogiriHelpers;

import org.jruby.runtime.Block;
import org.jruby.runtime.ThreadContext;
import org.jruby.runtime.builtin.IRubyObject;
import org.w3c.dom.Node;

public class CanonicalFilter
{
  private final Block block;
  private final ThreadContext context;

  public
  CanonicalFilter(ThreadContext context, Block block)
  {
    this.context = context;
    this.block = block;
  }

  public boolean
  includeNodes(Node currentNode, Node parentNode)
  {
    if (block == null || !block.isGiven()) {
      return true;
    }

    IRubyObject current = NokogiriHelpers.getCachedNodeOrCreate(context.getRuntime(), currentNode);
    IRubyObject parent = NokogiriHelpers.getCachedNodeOrCreate(context.getRuntime(), parentNode);

    if (parent.isNil()) {
      IRubyObject doc = ((XmlNode) current).document(context);
      boolean returnValue = block.call(context, current, doc).isTrue();
      block.call(context, doc, context.nil);
      return returnValue;
    }

    return block.call(context, current, parent).isTrue();
  }

}

Version data entries

56 entries across 56 versions & 2 rubygems

Version Path
nokogiri-1.18.2-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.18.1-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.18.0-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.18.0.rc1-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.17.2-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.17.1-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.17.0-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.15.7-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.8-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.7-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.6-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.4-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.15.6-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.3-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.2-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.1-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.0-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.16.0.rc1-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java
Nokogiri_precompiled_aarch64_dedshit-1.14.5 ext/java/nokogiri/internals/c14n/CanonicalFilter.java
nokogiri-1.15.5-java ext/java/nokogiri/internals/c14n/CanonicalFilter.java