Package com.gistlabs.mechanize.document.json.node.impl

Source Code of com.gistlabs.mechanize.document.json.node.impl.IndexedAttributeNode

/**
* Copyright (C) 2012-2014 Gist Labs, LLC. (http://gistlabs.com)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.gistlabs.mechanize.document.json.node.impl;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import com.gistlabs.mechanize.document.json.exceptions.JsonException;
import com.gistlabs.mechanize.document.json.node.JsonNode;

public class IndexedAttributeNode extends AttributeNode {

  private final int index;
  private final JSONArray array;

  public IndexedAttributeNode(final JsonNode parent, final String name, final JSONArray array, final int index) {
    super(parent, name);
    this.array = array;
    this.index = index;
  }

  @Override
  public String toString() {
    try {
      return new JSONObject().put(name, getValue()).toString();
    } catch (JSONException e) {
      throw new JsonException(e);
    }
  }

  @Override
  public String getValue() {
    try {
      return this.array.getString(this.index);
    } catch (JSONException e) {
      throw new JsonException(e);
    }
  }

  @Override
  public void setValue(final String value) {
    try {
      this.array.put(this.index, value);
    } catch (JSONException e) {
      throw new JsonException(e);
    }
  }
}
TOP

Related Classes of com.gistlabs.mechanize.document.json.node.impl.IndexedAttributeNode

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.