@@ -0,0 +1,1488 @@
+package org.bson;%0A%0Aimport java.nio.ByteBuffer;%0Aimport java.nio.ByteOrder;%0A%0Aimport org.jruby.Ruby;%0Aimport org.jruby.RubyModule;%0Aimport org.jruby.RubyString;%0Aimport org.jruby.anno.JRubyMethod;%0Aimport org.jruby.runtime.builtin.IRubyObject;%0A%0A/**%0A * Provides native extensions around string operations.%0A *%0A * @since 2.0.0%0A */%0Apublic class StringExtension %7B%0A%0A  /**%0A   * Constant for the String module name.%0A   *%0A   * @since 2.0.0%0A   */%0A  private static final String STRING = %22String%22.intern();%0A%0A  /**%0A   * Load the method definitions into the string module.%0A   *%0A   * @param bson The bson module to define the methods under.%0A   *%0A   * @since 2.0.0.%0A   */%0A  public static void extend(final RubyModule bson) %7B%0A    RubyModule string = bson.defineOrGetModuleUnder(STRING);%0A    string.defineAnnotatedMethods(StringExtension.class);%0A  %7D%0A%0A  /**%0A   * Encodes the string to the raw BSON bytes.%0A   *%0A   * @param string The instance of the string object.%0A   *%0A   * @return The encoded bytes.%0A   *%0A   * @since 2.0.0.%0A   */%0A  @JRubyMethod(name = %22to_bson%22)%0A  public static IRubyObject toBson(final IRubyObject string) %7B%0A    return null;%0A  %7D%0A%0A  /**%0A   * Encodes the string to the raw BSON bytes.%0A   *%0A   * @param string The instance of the string object.%0A   * @param bytes The bytes to encode to.%0A   *%0A   * @return The encoded bytes.%0A   *%0A   * @since 2.0.0.%0A   */%0A  @JRubyMethod(name = %22to_bson%22)%0A  public static IRubyObject toBson(final IRubyObject string, final IRubyObject bytes) %7B%0A    return null;%0A  %7D%0A%7D%0A

Add string extension java placeholder