/** * 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 java.util.ArrayList; import java.util.Collections; import java.util.List; 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 AttributeNode extends AbstractJsonNode { public AttributeNode(final JsonNode parent, final String name) { super(parent, name); } @Override public String toString() { try { return new JSONObject().put(name, getValue()).toString(); } catch (JSONException e) { throw new JsonException(e); } } @Override public String getAttribute(final String key) { return null; } @Override public void setAttribute(final String key, final String value) { } @Override public boolean hasAttribute(final String key) { return false; } @Override public List<String> getAttributeNames() { return new ArrayList<String>(); } @Override public String getValue() { return this.parent.getAttribute(getName()); } @Override public void setValue(final String value) { this.parent.setAttribute(getName(), value); } @Override public <T extends JsonNode> T getChild(final String key) { return null; } @SuppressWarnings("unchecked") @Override public List<JsonNode> getChildren(final String... names) { return Collections.EMPTY_LIST; } }