Interface CdsDefinition

All Superinterfaces:
CdsAnnotatable, CdsNamed
All Known Subinterfaces:
CdsAction, CdsArrayedType, CdsAssociationType, CdsBoundAction, CdsBoundFunction, CdsDecimal, CdsEntity, CdsEnumType<T>, CdsEvent, CdsFunction, CdsOperation, CdsService, CdsSimpleType, CdsStringType, CdsStructuredType, CdsType

public interface CdsDefinition extends CdsAnnotatable, CdsNamed
  • Method Details

    • accept

      void accept(CdsVisitor visitor)
      Accepts a CdsVisitor visiting the elements of this definition (depth-first)
      Parameters:
      visitor - the CdsVisitor
    • getQualifiedName

      String getQualifiedName()
      Returns the fully qualified name of this definition.
      Returns:
      the fully qualified name of this definition
    • getName

      String getName()
      Returns the unqualified name of this definition.
      Returns:
      the unqualified name
    • getQualifier

      String getQualifier()
      Returns the qualifier part of this definition's qualified name.
      Returns:
      the qualifier of the qualified name, or an empty string if this definition does not have a qualifier
    • getKind

      CdsKind getKind()
      Returns the kind of this definition.
      Returns:
      the kind of this definition
    • byNamespace

      static Predicate<CdsDefinition> byNamespace(String namespace)
      Returns a Predicate to filter CdsDefinition(s) that are inside the given namespace. If the namespace is empty or null, all definitions match.
      Parameters:
      namespace - the namespace to filter, can be empty or null
      Returns:
      a Predicate filtering by namespace
    • as

      default <T extends CdsDefinition> T as(Class<T> type)
      Casts this type to the given CdsDefinition.
      Type Parameters:
      T - the return type
      Parameters:
      type - the subtype of CdsDefinition to cast to
      Returns:
      this type casted to the given CdsDefinition class
    • getKey

      default String getKey()
      Description copied from interface: CdsNamed
      Returns the name that uniquely identifies this named object
      Specified by:
      getKey in interface CdsNamed
      Returns:
      the identifying name