| /**
|
| * Copyright (c) 2013-2015 Angelo ZERR.
|
| * All rights reserved. This program and the accompanying materials
|
| * are made available under the terms of the Eclipse Public License 2.0
|
| * which accompanies this distribution, and is available at
|
| * https://www.eclipse.org/legal/epl-2.0/
|
| *
|
| * SPDX-License-Identifier: EPL-2.0
|
| *
|
| * Contributors:
|
| * Angelo Zerr <angelo.zerr@gmail.com> - initial API and implementation
|
| */ |
| package org.eclipse.wst.json.core.internal.document;
|
|
|
| import java.util.ArrayList;
|
| import java.util.List;
|
|
|
| import org.eclipse.wst.json.core.document.IJSONNode;
|
| import org.eclipse.wst.json.core.document.IJSONObject;
|
| import org.eclipse.wst.json.core.document.IJSONPair;
|
| import org.eclipse.wst.json.core.document.JSONException;
|
| import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
|
|
|
| public class JSONObjectImpl extends JSONStructureImpl implements IJSONObject {
|
|
|
| public JSONObjectImpl() {
|
| this(null);
|
| }
|
|
|
| public JSONObjectImpl(JSONObjectImpl object) {
|
| super(object);
|
| }
|
|
|
| @Override
|
| public IJSONNode cloneNode(boolean deep) {
|
| JSONObjectImpl cloned = new JSONObjectImpl(this);
|
|
|
| if (deep)
|
| cloneChildNodes(cloned, deep);
|
|
|
| return cloned;
|
| }
|
|
|
| @Override
|
| public short getNodeType() {
|
| return IJSONNode.OBJECT_NODE;
|
| }
|
|
|
| public boolean hasEndTag() {
|
| return (getLastStructuredDocumentRegion() != null);
|
| }
|
|
|
| public boolean isContainer() {
|
| return true;
|
| }
|
|
|
| public boolean isEmptyTag() {
|
| return false;
|
| }
|
|
|
| public boolean hasStartTag() {
|
| return (getStructuredDocumentRegion() != null);
|
| }
|
|
|
| @Override
|
| public String getNodeName() {
|
| return "object";
|
| }
|
|
|
| @Override
|
| public String getNodeValue() throws JSONException {
|
| // TODO Auto-generated method stub
|
| return null;
|
| }
|
|
|
| public IJSONObject add(IJSONPair newAttr) {
|
| if (newAttr == null)
|
| return null;
|
| JSONPairImpl attr = (JSONPairImpl) newAttr;
|
| if (attr.getOwnerObject() != null)
|
| return null;
|
|
|
| // if (this.attrNodes == null)
|
| // this.attrNodes = new NodeListImpl();
|
| // this.attrNodes.appendNode(attr);
|
| attr.setOwnerObject(this);
|
| //pairs.add(newAttr);
|
| notifyPairReplaced(attr, null);
|
| return this;
|
| }
|
|
|
| protected void notifyPairReplaced(IJSONPair newPair, IJSONPair oldPair) {
|
| JSONDocumentImpl document = (JSONDocumentImpl) getContainerDocument();
|
| if (document == null)
|
| return;
|
| JSONModelImpl model = (JSONModelImpl) document.getModel();
|
| if (model == null)
|
| return;
|
| model.pairReplaced(this, newPair, oldPair);
|
| }
|
|
|
| @Override
|
| public IJSONObject remove(IJSONPair pair) {
|
| notifyPairReplaced(null, pair);
|
| return this;
|
| }
|
|
|
| public String toString() {
|
| StringBuilder buffer = new StringBuilder();
|
| String tagName = null;//getName();
|
| if (hasStartTag())
|
| buffer.append(tagName);
|
| if (isEmptyTag())
|
| buffer.append('/');
|
| if (hasEndTag()) {
|
| buffer.append('/');
|
| buffer.append(tagName);
|
| }
|
| if (buffer.length() == 0)
|
| buffer.append(tagName);
|
|
|
| IStructuredDocumentRegion startStructuredDocumentRegion = getStartStructuredDocumentRegion();
|
| if (startStructuredDocumentRegion != null) {
|
| buffer.append('@');
|
| buffer.append(startStructuredDocumentRegion.toString());
|
| }
|
| IStructuredDocumentRegion endStructuredDocumentRegion = getEndStructuredDocumentRegion();
|
| if (endStructuredDocumentRegion != null) {
|
| buffer.append('@');
|
| buffer.append(endStructuredDocumentRegion.toString());
|
| }
|
| return buffer.toString();
|
| }
|
| // @Override
|
| // public boolean getBoolean(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return false;
|
| // }
|
| //
|
| // @Override
|
| // public boolean getBoolean(String paramString, boolean paramBoolean) {
|
| // // TODO Auto-generated method stub
|
| // return false;
|
| // }
|
| //
|
| // @Override
|
| // public int getInt(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return 0;
|
| // }
|
| //
|
| // @Override
|
| // public int getInt(String paramString, int paramInt) {
|
| // // TODO Auto-generated method stub
|
| // return 0;
|
| // }
|
| //
|
| // @Override
|
| // public JsonArray getJsonArray(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public JsonNumber getJsonNumber(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public JsonObject getJsonObject(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public JsonString getJsonString(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public String getString(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public String getString(String paramString1, String paramString2) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public boolean isNull(String paramString) {
|
| // // TODO Auto-generated method stub
|
| // return false;
|
| // }
|
| //
|
| // @Override
|
| // public ValueType getValueType() {
|
| // return ValueType.OBJECT;
|
| // }
|
| //
|
| // @Override
|
| // public void clear() {
|
| // // TODO Auto-generated method stub
|
| //
|
| // }
|
| //
|
| // @Override
|
| // public boolean containsKey(Object arg0) {
|
| // // TODO Auto-generated method stub
|
| // return false;
|
| // }
|
| //
|
| // @Override
|
| // public boolean containsValue(Object arg0) {
|
| // // TODO Auto-generated method stub
|
| // return false;
|
| // }
|
| //
|
| // @Override
|
| // public Set<java.util.Map.Entry<String, JsonValue>> entrySet() {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public JsonValue get(Object arg0) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public boolean isEmpty() {
|
| // // TODO Auto-generated method stub
|
| // return false;
|
| // }
|
| //
|
| // @Override
|
| // public Set<String> keySet() {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public JsonValue put(String key, JsonValue value) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public void putAll(Map<? extends String, ? extends JsonValue> arg0) {
|
| // // TODO Auto-generated method stub
|
| //
|
| // }
|
| //
|
| // @Override
|
| // public JsonValue remove(Object arg0) {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
| //
|
| // @Override
|
| // public int size() {
|
| // // TODO Auto-generated method stub
|
| // return 0;
|
| // }
|
| //
|
| // @Override
|
| // public Collection<JsonValue> values() {
|
| // // TODO Auto-generated method stub
|
| // return null;
|
| // }
|
|
|
| @Override
|
| public String getSimpleValue() {
|
| return null;
|
| }
|
|
|
| @Override
|
| public String getValueRegionType() {
|
| return null;
|
| }
|
| }
|