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) 2024 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: Eclipse Dirigible contributors SPDX-License-Identifier: EPL-2.0
 */
package org.eclipse.dirigible.components.odata.api;

import com.google.gson.annotations.Expose;

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

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

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

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

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

    @Expose
    private String schema;

    /** 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; } public String getSchema() { return schema; } public void setSchema(String schema) { this.schema = schema; } /** * 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; } @Override public String toString() { return "ODataEntity{" + "name='" + name + '\'' + ", alias='" + alias + '\'' + ", table='" + table + '\'' + ", schema='" + schema + '\'' + ", 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