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

org.apache.olingo.client.api.domain.ClientEntity Maven / Gradle / Ivy

There is a newer version: 3.4.0
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.apache.olingo.client.api.domain;

import org.apache.olingo.commons.api.edm.FullQualifiedName;

import java.net.URI;
import java.util.List;

/**
 * OData entity.
 */
public interface ClientEntity extends ClientLinked, ClientAnnotatable, ClientInvokeResult {

  /**
   * @return the type name of this entity.
   */
  FullQualifiedName getTypeName();

  /**
   * @return self link.
   */
  URI getLink();

  /**
   * Returns OData entity edit link.
   * 
   * @return entity edit link.
   */
  URI getEditLink();

  /**
   * Sets OData entity edit link.
   * 
   * @param editLink edit link.
   */
  void setEditLink(URI editLink);

  /**
   * Gets ETag.
   * 
   * @return ETag.
   */
  String getETag();

  /**
   * Sets ETag.
   * 
   * @param eTag ETag.
   */
  void setETag(String eTag);

  /**
   * Searches for operation with given title.
   * 
   * @param title operation to look for
   * @return operation if found with given title, null otherwise
   */
  ClientOperation getOperation(String title);

  /**
   * Gets operations.
   * 
   * @return operations.
   */
  List getOperations();

  /**
   * Searches for property with given name.
   * 
   * @param name property to look for
   * @return property if found with given name, null otherwise
   */
  ClientProperty getProperty(String name);

  /**
   * Returns OData entity properties.
   *
   * @return OData entity properties.
   */
  List getProperties();

  /**
   * To request entity references in place of the actual entities, the client issues a GET request with /$ref appended
   * to the resource path.
   * 
* If the resource path does not identify an entity or a collection of entities, the service returns 404 Not Found. *
* If the resource path terminates on a collection, the response MUST be the format-specific representation of a * collection of entity references pointing to the related entities. If no entities are related, the response is the * format-specific representation of an empty collection. *
* If the resource path terminates on a single entity, the response MUST be the format-specific representation of an * entity reference pointing to the related single entity. If the resource path terminates on a single entity and no * such entity exists, the service returns 404 Not Found. * * @return entity reference. */ URI getId(); /** * Set id for this OData entity. * * @param id the if for this entity */ void setId(URI id); /** * Gets media-edit link with given name, if available, otherwise null. * * @param name candidate link name * @return media-edit link with given name, if available, otherwise null */ ClientLink getMediaEditLink(final String name); /** * Returns entity media edit links. * * @return OData entity links. */ List getMediaEditLinks(); /** * TRUE if read-only entity. * * @return TRUE if read-only; FALSE otherwise. */ boolean isReadOnly(); /** * Checks if the current entity is a media entity. * * @return 'TRUE' if media entity; 'FALSE' otherwise. */ boolean isMediaEntity(); /** * Sets media entity flag. * * @param isMediaEntity media entity flag value. */ void setMediaEntity(boolean isMediaEntity); /** * Gets media content type. * * @return media content type. */ String getMediaContentType(); /** * Sets media content type. * * @param mediaContentType media content type. */ void setMediaContentType(String mediaContentType); /** * Gets media content source. * * @return media content source. */ URI getMediaContentSource(); /** * Sets media content source. * * @param mediaContentSource media content source. */ void setMediaContentSource(URI mediaContentSource); /** * ETag of the binary stream represented by this media entity or named stream property. * * @return media ETag value */ String getMediaETag(); /** * Set media ETag. * * @param eTag media ETag value */ void setMediaETag(String eTag); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy