1 /*******************************************************************************
2  * Copyright (c) 2011, 2015 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.help.internal.webapp.utils;
15 
16 public final class JSonHelper {
17 
18 	//JSON Characters
19 	public static final String BEGIN_BRACE = "{"; //$NON-NLS-1$
20 	public static final String END_BRACE  = "}"; //$NON-NLS-1$
21 	public static final String DOUBLEQUOTE  = "\""; //$NON-NLS-1$
22 	public static final String COLON  = ":"; //$NON-NLS-1$
23 	public static final String BEGIN_BRACKET  = "["; //$NON-NLS-1$
24 	public static final String END_BRACKET  =   "]"; //$NON-NLS-1$
25 	public static final String COMMA  =   ","; //$NON-NLS-1$
26 	public static final String NEWLINE  =   "\n"; //$NON-NLS-1$
27 	public static final String SPACE  =   "   "; //$NON-NLS-1$
28 
29 	//JSON items
30 	public static final String LABEL			= "label"; //$NON-NLS-1$
31 	public static final String IDENTIFIER		= "identifier"; //$NON-NLS-1$
32 	public static final String URL				= "url"; //$NON-NLS-1$
33 	public static final String PROVIDER			= "provider"; //$NON-NLS-1$
34 	public static final String ITEMS			= "items"; //$NON-NLS-1$
35 	public static final String NAME				= "name"; //$NON-NLS-1$
36 	public static final String TITLE			= "title"; //$NON-NLS-1$
37 	public static final String ID				= "id"; //$NON-NLS-1$
38 	public static final String PLUGIN_ID		= "pluginId"; //$NON-NLS-1$
39 	public static final String HREF				= "href"; //$NON-NLS-1$
40 	public static final String TYPE				= "type"; //$NON-NLS-1$
41 	public static final String CHECKED			= "checked"; //$NON-NLS-1$
42 	public static final String CHILDREN			= "children"; //$NON-NLS-1$
43 	public static final String REFERENCE		= "_reference"; //$NON-NLS-1$
44 	public static final String IS_LEAF			= "is_leaf"; //$NON-NLS-1$
45 	public static final String IS_SELECTED		= "is_selected"; //$NON-NLS-1$
46 	public static final String IS_HIGHLIGHTED	= "is_highlighted"; //$NON-NLS-1$
47 	public static final String TOC				= "toc"; //$NON-NLS-1$
48 	public static final String PATH				= "path"; //$NON-NLS-1$
49 	public static final String CATEGORY			= "category"; //$NON-NLS-1$
50 	public static final String DESCRIPTION		= "description"; //$NON-NLS-1$
51 	public static final String CATEGORY_HREF	= CATEGORY+"_"+HREF; //$NON-NLS-1$
52 	public static final String PROPERTY_NAME	= "tagName"; //$NON-NLS-1$
53 	public static final String PROPERTY_VALUE	= "value"; //$NON-NLS-1$
54 	public static final String INDEX			= "Index"; //$NON-NLS-1$
55 	public static final String TOPIC			= "Topic"; //$NON-NLS-1$
56 	public static final String NUMERIC_PATH		= "NumericPath"; //$NON-NLS-1$
57 
getQuotes(String str)58 	public static String getQuotes(String str) {
59 		if (str == null) {
60 			return ""; //$NON-NLS-1$
61 		}
62 		if (!str.contains(DOUBLEQUOTE)) {
63 			return DOUBLEQUOTE + str + DOUBLEQUOTE;
64 		}
65 		return DOUBLEQUOTE + str.replaceAll(DOUBLEQUOTE, "\\\\" + DOUBLEQUOTE) + DOUBLEQUOTE; //$NON-NLS-1$
66 	}
67 
68 }
69