summaryrefslogtreecommitdiff
path: root/src/json/ext/Utils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/json/ext/Utils.java')
-rw-r--r--src/json/ext/Utils.java89
1 files changed, 0 insertions, 89 deletions
diff --git a/src/json/ext/Utils.java b/src/json/ext/Utils.java
deleted file mode 100644
index 7a1dfee..0000000
--- a/src/json/ext/Utils.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * This code is copyrighted work by Daniel Luz <dev at mernen dot com>.
- *
- * Distributed under the Ruby and GPLv2 licenses; see COPYING and GPL files
- * for details.
- */
-package json.ext;
-
-import org.jruby.Ruby;
-import org.jruby.RubyArray;
-import org.jruby.RubyClass;
-import org.jruby.RubyException;
-import org.jruby.RubyHash;
-import org.jruby.RubyString;
-import org.jruby.exceptions.RaiseException;
-import org.jruby.runtime.Block;
-import org.jruby.runtime.ThreadContext;
-import org.jruby.runtime.builtin.IRubyObject;
-import org.jruby.util.ByteList;
-
-/**
- * Library of miscellaneous utility functions
- */
-final class Utils {
- public static final String M_GENERATOR_ERROR = "GeneratorError";
- public static final String M_NESTING_ERROR = "NestingError";
- public static final String M_PARSER_ERROR = "ParserError";
-
- private Utils() {
- throw new RuntimeException();
- }
-
- /**
- * Safe {@link RubyArray} type-checking.
- * Returns the given object if it is an <code>Array</code>,
- * or throws an exception if not.
- * @param object The object to test
- * @return The given object if it is an <code>Array</code>
- * @throws RaiseException <code>TypeError</code> if the object is not
- * of the expected type
- */
- static RubyArray ensureArray(IRubyObject object) throws RaiseException {
- if (object instanceof RubyArray) return (RubyArray)object;
- Ruby runtime = object.getRuntime();
- throw runtime.newTypeError(object, runtime.getArray());
- }
-
- static RubyHash ensureHash(IRubyObject object) throws RaiseException {
- if (object instanceof RubyHash) return (RubyHash)object;
- Ruby runtime = object.getRuntime();
- throw runtime.newTypeError(object, runtime.getHash());
- }
-
- static RubyString ensureString(IRubyObject object) throws RaiseException {
- if (object instanceof RubyString) return (RubyString)object;
- Ruby runtime = object.getRuntime();
- throw runtime.newTypeError(object, runtime.getString());
- }
-
- static RaiseException newException(ThreadContext context,
- String className, String message) {
- return newException(context, className,
- context.getRuntime().newString(message));
- }
-
- static RaiseException newException(ThreadContext context,
- String className, RubyString message) {
- RuntimeInfo info = RuntimeInfo.forRuntime(context.getRuntime());
- RubyClass klazz = info.jsonModule.getClass(className);
- RubyException excptn =
- (RubyException)klazz.newInstance(context,
- new IRubyObject[] {message}, Block.NULL_BLOCK);
- return new RaiseException(excptn);
- }
-
- static byte[] repeat(ByteList a, int n) {
- return repeat(a.unsafeBytes(), a.begin(), a.length(), n);
- }
-
- static byte[] repeat(byte[] a, int begin, int length, int n) {
- if (length == 0) return ByteList.NULL_ARRAY;
- int resultLen = length * n;
- byte[] result = new byte[resultLen];
- for (int pos = 0; pos < resultLen; pos += length) {
- System.arraycopy(a, begin, result, pos, length);
- }
- return result;
- }
-}