List of usage examples for jdk.nashorn.internal.objects NativeRegExp get
@Override public Object get(final Object key)
From source file:com.mongodb.jvm.json.nashorn.NativeRegExpEncoder.java
License:Apache License
public void encode(Object object, JsonContext context) throws IOException { NativeRegExp nativeRegExp = (NativeRegExp) object; String source = nativeRegExp.get("source").toString(); Object isGlobal = nativeRegExp.get("global"); Object isIgnoreCase = nativeRegExp.get("ignoreCase"); Object isMultiLine = nativeRegExp.get("multiline"); String options = ""; if (((isGlobal instanceof Boolean) && (((Boolean) isGlobal).booleanValue())) || ((isGlobal instanceof NativeBoolean) && ((NativeBoolean) isGlobal).booleanValue())) options += "g"; if (((isIgnoreCase instanceof Boolean) && (((Boolean) isIgnoreCase).booleanValue())) || ((isIgnoreCase instanceof NativeBoolean) && ((NativeBoolean) isIgnoreCase).booleanValue())) options += "i"; if (((isMultiLine instanceof Boolean) && (((Boolean) isMultiLine).booleanValue())) || ((isMultiLine instanceof NativeBoolean) && ((NativeBoolean) isMultiLine).booleanValue())) options += "m"; LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>(); map.put("$regex", source); map.put("$options", options); new MapEncoder().encode(map, context); }
From source file:com.threecrickets.jvm.json.nashorn.util.NashornNativeUtil.java
License:Mozilla Public License
public static String[] from(NativeRegExp nativeRegExp) { Object source = nativeRegExp.get("source"); Object isGlobal = nativeRegExp.get("global"); Object isIgnoreCase = nativeRegExp.get("ignoreCase"); Object isMultiLine = nativeRegExp.get("multiline"); // Note: JVM pattern does not support a "g" flag. Also, compiling // the pattern here is a waste of time. ////from ww w . j a va2 s . c o m // int flags = 0; // if( ( isIgnoreCase instanceof Boolean ) && ( ( (Boolean) // isIgnoreCase ).booleanValue() ) ) // flags |= Pattern.CASE_INSENSITIVE; // if( ( isMultiLine instanceof Boolean ) && ( ( (Boolean) // isMultiLine ).booleanValue() ) ) // flags |= Pattern.MULTILINE; // return Pattern.compile( source.toString(), flags ); String options = ""; if ((isGlobal instanceof Boolean) && (((Boolean) isGlobal).booleanValue())) options += "g"; if ((isIgnoreCase instanceof Boolean) && (((Boolean) isIgnoreCase).booleanValue())) options += "i"; if ((isMultiLine instanceof Boolean) && (((Boolean) isMultiLine).booleanValue())) options += "m"; return new String[] { source.toString(), options }; }
From source file:org.bson.jvm.nashorn.NativeRegExpCodec.java
License:Apache License
public void encode(BsonWriter writer, NativeRegExp nativeRegExp, EncoderContext encoderContext) { String source = nativeRegExp.get("source").toString(); Object isGlobal = nativeRegExp.get("global"); Object isIgnoreCase = nativeRegExp.get("ignoreCase"); Object isMultiLine = nativeRegExp.get("multiline"); String options = ""; if (((isGlobal instanceof Boolean) && (((Boolean) isGlobal).booleanValue())) || ((isGlobal instanceof NativeBoolean) && ((NativeBoolean) isGlobal).booleanValue())) options += "g"; if (((isIgnoreCase instanceof Boolean) && (((Boolean) isIgnoreCase).booleanValue())) || ((isIgnoreCase instanceof NativeBoolean) && ((NativeBoolean) isIgnoreCase).booleanValue())) options += "i"; if (((isMultiLine instanceof Boolean) && (((Boolean) isMultiLine).booleanValue())) || ((isMultiLine instanceof NativeBoolean) && ((NativeBoolean) isMultiLine).booleanValue())) options += "m"; writer.writeRegularExpression(new BsonRegularExpression(source, options)); }