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

org.eclipse.dirigible.components.odata.api.ODataEntity Maven / Gradle / Ivy

There is a newer version: 10.6.37
Show newest version
/*
 * Copyright (c) 2023 SAP SE or an SAP affiliate company and Eclipse Dirigible contributors
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v20.html
 *
 * SPDX-FileCopyrightText: 2023 SAP SE or an SAP affiliate company and Eclipse Dirigible contributors
 * SPDX-License-Identifier: EPL-2.0
 */
package org.eclipse.dirigible.components.odata.api;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.gson.annotations.Expose;

/**
 * The Class ODataEntityDefinition.
 */
public class ODataEntity {

    /** The name. */
	@Expose
    private String name;

    /** The alias. */
	@Expose
    private String alias;

    /** The table. */
	@Expose
    private String table;

	/** The key generated. */
	@Expose
	private String keyGenerated;

    /** The properties. */
	@Expose
    private List properties = new ArrayList<>();

	/** The parameters. */
	@Expose
	private List parameters = new ArrayList<>();

    /** The navigations. */
	@Expose
    private List navigations = new ArrayList<>();

    /** The handlers. */
	@Expose
    private List handlers = new ArrayList<>();

    /** For VIEW type the keys need to be specified explicitly, because on DB side there will be no keys definitions. */
	@Expose
    private List keys = new ArrayList<>();

    /**
     * 

Define list of additional annotations for EntitySet element.

* For example: * <EntitySet Name="SomeName" EntityType="someType" sap:creatable="true" sap:updatable-path="Updatable"> */ @Expose private Map annotationsEntitySet = new HashMap<>(); /** *

Define list of additional annotations for EntityType element.

* For example: * <EntityType Name="SomeTypeName" sap:semantics="aggregate""> */ @Expose private Map annotationsEntityType = new HashMap<>(); /** *

Define list of aggregation types for the columns.

* For example: * <SUM="NUMBER"> */ @Expose private Map aggregationsTypeAndColumn = new HashMap<>(); /** * Gets the name. * * @return the name */ public String getName() { return name; } /** * Sets the name. * * @param name the new name */ public void setName(String name) { this.name = name; } /** * Gets the alias. * * @return the alias */ public String getAlias() { return alias; } /** * Sets the alias. * * @param alias the new alias */ public void setAlias(String alias) { this.alias = alias; } /** * Gets the table. * * @return the table */ public String getTable() { return table; } /** * Sets the table. * * @param table the new table */ public void setTable(String table) { this.table = table; } /** * Gets the key generated. * * @return the key generated */ public String getKeyGenerated() { return keyGenerated; } /** * Sets the key generated. * * @param keyGenerated the new key generated */ public void setKeyGenerated(String keyGenerated) { this.keyGenerated = keyGenerated; } /** * Gets the properties. * * @return the properties */ public List getProperties() { return properties; } /** * Sets the properties. * * @param properties the new properties */ public void setProperties(List properties) { this.properties = properties; } /** * Gets the parameters. * * @return the parameters */ public List getParameters() { return parameters; } /** * Sets the parameters. * * @param parameters the new parameters */ public void setParameters(List parameters) { this.parameters = parameters; } /** * Gets the navigations. * * @return the navigations */ public List getNavigations() { return navigations; } /** * Sets the navigations. * * @param navigations the new navigations */ public void setNavigations(List navigations) { this.navigations = navigations; } /** * Gets the handlers. * * @return the handlers */ public List getHandlers() { return handlers; } /** * Sets the handlers. * * @param handlers the new handlers */ public void setHandlers(List handlers) { this.handlers = handlers; } /** * Gets the keys. * * @return the keys */ public List getKeys() { return keys; } /** * Sets the keys. * * @param keys the new keys */ public void setKeys(List keys) { this.keys = keys; } /** * Gets the annotations entity set. * * @return the annotations entity set */ public Map getAnnotationsEntitySet() { return annotationsEntitySet; } /** * Sets the annotations entity set. * * @param annotationsEntitySet the annotations entity set */ public void setAnnotationsEntitySet(Map annotationsEntitySet) { this.annotationsEntitySet = annotationsEntitySet; } /** * Gets the annotations entity type. * * @return the annotations entity type */ public Map getAnnotationsEntityType() { return annotationsEntityType; } /** * Sets the annotations entity type. * * @param annotationsEntityType the annotations entity type */ public void setAnnotationsEntityType(Map annotationsEntityType) { this.annotationsEntityType = annotationsEntityType; } /** * Gets the aggregations type and column. * * @return the aggregations type and column */ public Map getAggregationsTypeAndColumn() { return aggregationsTypeAndColumn; } /** * Sets the aggregations type and column. * * @param aggregationsTypeAndColumn the aggregations type and column */ public void setAggregationsTypeAndColumn(Map aggregationsTypeAndColumn) { this.aggregationsTypeAndColumn = aggregationsTypeAndColumn; } /** * To string. * * @return the string */ @Override public String toString() { return "ODataEntity [name=" + name + ", alias=" + alias + ", table=" + table + ", keyGenerated=" + keyGenerated + ", properties=" + properties + ", parameters=" + parameters + ", navigations=" + navigations + ", handlers=" + handlers + ", keys=" + keys + ", annotationsEntitySet=" + annotationsEntitySet + ", annotationsEntityType=" + annotationsEntityType + ", aggregationsTypeAndColumn=" + aggregationsTypeAndColumn + "]"; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy