Search in sources :

Example 1 with JSONBooleanLiteral

use of org.eclipse.n4js.json.JSON.JSONBooleanLiteral in project n4js by eclipse.

the class JSONModelUtils method createBooleanLiteral.

/**
 * Creates a new {@link JSONBooleanLiteral} with the given boolean {@code value}.
 */
public static JSONBooleanLiteral createBooleanLiteral(boolean value) {
    final JSONBooleanLiteral literal = JSONFactory.eINSTANCE.createJSONBooleanLiteral();
    literal.setBooleanValue(value);
    return literal;
}
Also used : JSONBooleanLiteral(org.eclipse.n4js.json.JSON.JSONBooleanLiteral)

Example 2 with JSONBooleanLiteral

use of org.eclipse.n4js.json.JSON.JSONBooleanLiteral in project n4js by eclipse.

the class JSONSemanticSequencer method sequence.

@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
    EPackage epackage = semanticObject.eClass().getEPackage();
    ParserRule rule = context.getParserRule();
    Action action = context.getAssignedAction();
    Set<Parameter> parameters = context.getEnabledBooleanParameters();
    if (epackage == JSONPackage.eINSTANCE)
        switch(semanticObject.eClass().getClassifierID()) {
            case JSONPackage.JSON_ARRAY:
                sequence_JSONArray(context, (JSONArray) semanticObject);
                return;
            case JSONPackage.JSON_BOOLEAN_LITERAL:
                sequence_JSONBooleanLiteral(context, (JSONBooleanLiteral) semanticObject);
                return;
            case JSONPackage.JSON_DOCUMENT:
                sequence_JSONDocument(context, (JSONDocument) semanticObject);
                return;
            case JSONPackage.JSON_NULL_LITERAL:
                sequence_JSONNullLiteral(context, (JSONNullLiteral) semanticObject);
                return;
            case JSONPackage.JSON_NUMERIC_LITERAL:
                sequence_JSONNumericLiteral(context, (JSONNumericLiteral) semanticObject);
                return;
            case JSONPackage.JSON_OBJECT:
                sequence_JSONObject(context, (JSONObject) semanticObject);
                return;
            case JSONPackage.JSON_STRING_LITERAL:
                sequence_JSONStringLiteral(context, (JSONStringLiteral) semanticObject);
                return;
            case JSONPackage.NAME_VALUE_PAIR:
                sequence_NameValuePair(context, (NameValuePair) semanticObject);
                return;
        }
    if (errorAcceptor != null)
        errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Also used : ParserRule(org.eclipse.xtext.ParserRule) NameValuePair(org.eclipse.n4js.json.JSON.NameValuePair) Action(org.eclipse.xtext.Action) JSONArray(org.eclipse.n4js.json.JSON.JSONArray) JSONNumericLiteral(org.eclipse.n4js.json.JSON.JSONNumericLiteral) JSONStringLiteral(org.eclipse.n4js.json.JSON.JSONStringLiteral) EPackage(org.eclipse.emf.ecore.EPackage) JSONBooleanLiteral(org.eclipse.n4js.json.JSON.JSONBooleanLiteral) JSONObject(org.eclipse.n4js.json.JSON.JSONObject) Parameter(org.eclipse.xtext.Parameter) JSONDocument(org.eclipse.n4js.json.JSON.JSONDocument) JSONNullLiteral(org.eclipse.n4js.json.JSON.JSONNullLiteral)

Example 3 with JSONBooleanLiteral

use of org.eclipse.n4js.json.JSON.JSONBooleanLiteral in project n4js by eclipse.

the class ProjectDescriptionLoader method copy.

private JSONValue copy(JsonElement jsonElement) {
    if (jsonElement.isJsonNull()) {
        return JSONFactory.eINSTANCE.createJSONNullLiteral();
    }
    if (jsonElement.isJsonPrimitive()) {
        JsonPrimitive primitive = jsonElement.getAsJsonPrimitive();
        if (primitive.isBoolean()) {
            JSONBooleanLiteral result = JSONFactory.eINSTANCE.createJSONBooleanLiteral();
            result.setBooleanValue(primitive.getAsBoolean());
            return result;
        }
        if (primitive.isNumber()) {
            JSONNumericLiteral result = JSONFactory.eINSTANCE.createJSONNumericLiteral();
            result.setValue(primitive.getAsBigDecimal());
            return result;
        }
        if (primitive.isString()) {
            JSONStringLiteral result = JSONFactory.eINSTANCE.createJSONStringLiteral();
            result.setValue(primitive.getAsString());
            return result;
        }
        throw new IllegalArgumentException(jsonElement.toString());
    }
    if (jsonElement.isJsonObject()) {
        JsonObject object = jsonElement.getAsJsonObject();
        JSONObject result = JSONFactory.eINSTANCE.createJSONObject();
        for (Map.Entry<String, JsonElement> entry : object.entrySet()) {
            NameValuePair pair = JSONFactory.eINSTANCE.createNameValuePair();
            pair.setName(entry.getKey());
            pair.setValue(copy(entry.getValue()));
            result.getNameValuePairs().add(pair);
        }
        return result;
    }
    if (jsonElement.isJsonArray()) {
        JsonArray array = jsonElement.getAsJsonArray();
        JSONArray result = JSONFactory.eINSTANCE.createJSONArray();
        for (JsonElement arrayElement : array) {
            result.getElements().add(copy(arrayElement));
        }
        return result;
    }
    throw new IllegalArgumentException(jsonElement.toString());
}
Also used : NameValuePair(org.eclipse.n4js.json.JSON.NameValuePair) JsonPrimitive(com.google.gson.JsonPrimitive) JSONNumericLiteral(org.eclipse.n4js.json.JSON.JSONNumericLiteral) JSONArray(org.eclipse.n4js.json.JSON.JSONArray) JsonObject(com.google.gson.JsonObject) JSONStringLiteral(org.eclipse.n4js.json.JSON.JSONStringLiteral) JsonArray(com.google.gson.JsonArray) JSONBooleanLiteral(org.eclipse.n4js.json.JSON.JSONBooleanLiteral) JSONObject(org.eclipse.n4js.json.JSON.JSONObject) JsonElement(com.google.gson.JsonElement) Map(java.util.Map)

Aggregations

JSONBooleanLiteral (org.eclipse.n4js.json.JSON.JSONBooleanLiteral)3 JSONArray (org.eclipse.n4js.json.JSON.JSONArray)2 JSONNumericLiteral (org.eclipse.n4js.json.JSON.JSONNumericLiteral)2 JSONObject (org.eclipse.n4js.json.JSON.JSONObject)2 JSONStringLiteral (org.eclipse.n4js.json.JSON.JSONStringLiteral)2 NameValuePair (org.eclipse.n4js.json.JSON.NameValuePair)2 JsonArray (com.google.gson.JsonArray)1 JsonElement (com.google.gson.JsonElement)1 JsonObject (com.google.gson.JsonObject)1 JsonPrimitive (com.google.gson.JsonPrimitive)1 Map (java.util.Map)1 EPackage (org.eclipse.emf.ecore.EPackage)1 JSONDocument (org.eclipse.n4js.json.JSON.JSONDocument)1 JSONNullLiteral (org.eclipse.n4js.json.JSON.JSONNullLiteral)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1