Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010 Google Inc.
   *
   * Licensed under the Apache License, Version 2.0 (the "License"); you may not
   * use this file except in compliance with the License. You may obtain a copy of
   * the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  * License for the specific language governing permissions and limitations under
  * the License.
  */
 package elemental.json.impl;
 
 import java.util.List;
 import java.util.Map;
 
Server-side implementation of JsonObject.
 
 public class JreJsonObject extends JreJsonValue implements JsonObject {
 
   private static List<StringstringifyOrder(String[] keys) {
     List<StringtoReturn = new ArrayList<String>();
     List<StringnonNumeric = new ArrayList<String>();
     for (String key : keys) {
       if (key.matches("\\d+")) {
         toReturn.add(key);
       } else {
         nonNumeric.add(key);
       }
     }
     Collections.sort(toReturn);
     toReturn.addAll(nonNumeric);
     return toReturn;
   }
 
   private JsonFactory factory;
   private Map<StringJsonValuemap = new LinkedHashMap<StringJsonValue>();
 
   public JreJsonObject(JsonFactory factory) {
     this. = factory;
   }
 
   @Override
   public boolean asBoolean() {
     return true;
   }
 
   @Override
   public double asNumber() {
     return .;
   }
 
   @Override
   public String asString() {
     return "[object Object]";
   }
 
   public JsonValue get(String key) {
     return .get(key);
   }
 
   public JsonArray getArray(String key) {
     return (JsonArrayget(key);
   }
 
 
   public boolean getBoolean(String key) {
     return ((JsonBooleanget(key)).getBoolean();
   }
 
   public double getNumber(String key) {
     return ((JsonNumberget(key)).getNumber();
   }
 
   public JsonObject getObject(String key) {
     return (JsonObjectget(key);
   }
 
   public Object getObject() {
     Map<StringObjectobj = new HashMap<StringObject>();
     for (Map.Entry<StringJsonValuee : .entrySet()) {
      obj.put(e.getKey(), ((JreJsonValuee.getValue()).getObject());
    }
    return obj;
  }
  public String getString(String key) {
    return ((JsonStringget(key)).getString();
  }
  public JsonType getType() {
    return .;
  }
  public boolean hasKey(String key) {
    return .containsKey(key);
  }
  public boolean jsEquals(JsonValue value) {
    return getObject().equals(((JreJsonValuevalue).getObject());
  }
  public String[] keys() {
    return .keySet().toArray(new String[.size()]);
  }
  public void put(String keyJsonValue value) {
    if (value == null) {
      value = .createNull();
    }
    .put(keyvalue);
  }
  public void put(String keyString value) {
    put(key.create(value));
  }
  public void put(String keydouble value) {
    put(key.create(value));
  }
  public void put(String keyboolean bool) {
    put(key.create(bool));
  }
  public void remove(String key) {
    .remove(key);
  }
  public void set(String keyJsonValue value) {
      put(keyvalue);
  }
  public String toJson() {
    return JsonUtil.stringify(this);
  }
  public String toString() {
    return toJson();
  }
  public void traverse(JsonVisitor visitorJsonContext ctx) {
    if (visitor.visit(thisctx)) {
      JsonObjectContext objCtx = new JsonObjectContext(this);
      for (String key : stringifyOrder(keys())) {
        objCtx.setCurrentKey(key);
        if (visitor.visitKey(objCtx.getCurrentKey(), objCtx)) {
          visitor.accept(get(key), objCtx);
          objCtx.setFirst(false);
        }
      }
    }
    visitor.endVisit(thisctx);
  }
New to GrepCode? Check out our FAQ X