Interface CMHasContexts

All Superinterfaces:
com.coremedia.objectserver.dataviews.AssumesIdentity, BelowRootNavigation, CMLinkable, CMLocalized, CMObject, com.coremedia.objectserver.beans.ContentBean, HasViewTypeName, Linkable, com.coremedia.blueprint.common.datevalidation.ValidityPeriod
All Known Subinterfaces:
CMAction, CMArticle, CMAudio, CMChannel, CMCollection<T>, CMContext, CMDownload, CMDynamicList<T>, CMExternalLink, CMGallery<T>, CMHTML, CMImageMap, CMInteractive, CMLocTaxonomy, CMMedia, CMNavigation, CMPerson, CMPicture, CMPlaceholder, CMQueryList, CMSitemap, CMSpinner, CMTaxonomy, CMTeasable, CMTeaser, CMVideo, CMVisual

public interface CMHasContexts extends CMLinkable

Actually, contexts are related to segment and link building and thus belong to CMLinkable.

However, we want to enforce navigation trees (no arbitrary graphs), therefore we don't want explicit contexts in CMNavigation documents which are also derived from CMLinkable. In the content beans we implement contexts in CMLinkable.

Represents the document type CMHasContexts.

  • Field Details

  • Method Details

    • getMaster

      CMHasContexts getMaster()
      Returns the value of the document property CMLocalized.MASTER.
      Specified by:
      getMaster in interface CMLinkable
      Specified by:
      getMaster in interface CMLocalized
      Returns:
      a CMHasContexts object
    • getVariantsByLocale

      Map<Locale,? extends CMHasContexts> getVariantsByLocale()
      Description copied from interface: CMLocalized
      Returns the variants of this CMLocalized indexed by their Locale
      Specified by:
      getVariantsByLocale in interface CMLinkable
      Specified by:
      getVariantsByLocale in interface CMLocalized
      Returns:
      the variants of this CMLocalized indexed by their Locale
    • getLocalizations

      Collection<? extends CMHasContexts> getLocalizations()
      Description copied from interface: CMLocalized

      Returns the Locale specific variants of this CMLocalized

      Usage:

      Add elements for each variant excluding self (self is of type Page in this example).

      Freemarker:
      
       <#if (self.content.localizations)?has_content>
         <#assign localizations=self.content.localizations![] />
         <#list localizations as localization>
           <#if localization.locale != self.content.locale>
             <link rel="alternate" ... />
           </#if>
         </#list>
       </#if>
       
      JSP:
      
       <c:set var="locales" value="${self.content.localizations}"/>
       <c:if test="${not empty locales}">
         <c:forEach var="localization" items="${locales}">
           <c:if test="${localization.locale != self.content.locale}">
             <cm:link var="localitationLink" target="${localization}"/>
             <link rel="alternate" ... />
           </c:if>
         </c:forEach>
       </c:if>
       
      Specified by:
      getLocalizations in interface CMLinkable
      Specified by:
      getLocalizations in interface CMLocalized
      Returns:
      the Locale specific variants of this CMLocalized
    • getAspectByName

      @Deprecated Map<String,? extends com.coremedia.cae.aspect.Aspect<? extends CMHasContexts>> getAspectByName()
      Deprecated.
      since 1907.1; Implement optional features as extensions.
      Description copied from interface: CMObject

      Returns a Map from aspectIDs to Aspects. AspectIDs consists of an aspectname with a prefix which identifies the plugin provider.

      Usage:

      Access an aspect named osmPlugin.

      Freemarker:
      
       <#assign osmSocialPlugin=self.aspectByName['osmPlugin'] />
       
      JSP:
      
       <c:set var="osmSocialPlugin" value="${self.aspectByName['osmPlugin']}"/>
       
      Specified by:
      getAspectByName in interface CMLinkable
      Specified by:
      getAspectByName in interface CMLocalized
      Specified by:
      getAspectByName in interface CMObject
      Returns:
      a Map from aspectIDs to Aspects
    • getAspects

      @Deprecated List<? extends com.coremedia.cae.aspect.Aspect<? extends CMHasContexts>> getAspects()
      Deprecated.
      since 1907.1; Implement optional features as extensions.
      Description copied from interface: CMObject

      Returns a list of all Aspect from all available PlugIns that are registered to this contentbean.

      Usage:

      Add all aspects with view asHead.

      Freemarker:
      
       <#list self.aspects as aspect>
         <@cm.include self=aspect view="asHeader"/>
       </#list>
       
      JSP:
      
       <c:forEach items="${self.aspects}" var="aspect">
         <cm:include self="${aspect}" view="asHeader"/>
       </c:forEach>
       
      Specified by:
      getAspects in interface CMLinkable
      Specified by:
      getAspects in interface CMLocalized
      Specified by:
      getAspects in interface CMObject
      Returns:
      a list of Aspects