All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.cds.reflect.impl.CdsEventReader Maven / Gradle / Ivy

There is a newer version: 3.8.0
Show newest version
/*******************************************************************
 * © 2020 SAP SE or an SAP affiliate company. All rights reserved. *
 *******************************************************************/
package com.sap.cds.reflect.impl;

import com.fasterxml.jackson.databind.JsonNode;
import static com.sap.cds.util.CdsModelUtils.getDoc;
import com.sap.cds.reflect.impl.reader.model.CdsConstants;
import com.sap.cds.util.StructuredTypeResolver;

public class CdsEventReader {

	private CdsEventReader() {
	}

	public static CdsEventBuilder read(CdsModelReader.Config config, String qualifiedName, String name, JsonNode csn, CdsModelBuilder model,
			StructuredTypeResolver structResolver) {
		CdsEventBuilder event = CdsEventBuilder.create(CdsAnnotationReader.read(config, csn), qualifiedName, name,
				getQuery(csn), getDoc(csn));
		if (csn.has(CdsConstants.TYPE)) {
			event.addDelegationType(csn.get(CdsConstants.TYPE).asText());
			return event;
		}
		event.addElements(CdsStructuredTypeReader.readElementList(config, qualifiedName, csn, model, structResolver));
		return event;
	}

	private static String getQuery(JsonNode csn) {
		String query = null;
		if (csn.has(CdsConstants.QUERY)) {
			query = csn.get(CdsConstants.QUERY).toString();
		}
		return query;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy