com.hlcl.rql.as
Class Anchor

java.lang.Object
  extended by com.hlcl.rql.as.Anchor
All Implemented Interfaces:
CmsClientContainer, PageContainer, ProjectContainer
Direct Known Subclasses:
Frame, TextAnchor

public abstract class Anchor
extends java.lang.Object
implements PageContainer

Diese Klasse beschreibt einen RedDot Anchor (Textlink oder Bildlink, jeweils auch dynamisch).

Author:
LEJAFR

Constructor Summary
Anchor(Page page, java.lang.String name, java.lang.String anchorGuid)
          Container constructor comment.
 
Method Summary
 void assignAuthorizationPackage(AuthorizationPackage authorizationPackage)
          Ordnet diesem Anchor das gegebene Berechtigungspaket zu.
 RQLNode callCms(java.lang.String rqlRequest)
          Senden eine Anfrage an das CMS und liefert eine geparste Antwort zurueck.
 java.lang.String callCmsWithoutParsing(java.lang.String rqlRequest)
          Senden eine Anfrage an das CMS und liefert eine ungeparste Antwort zurueck.
 Page createAndConnectPage(Template template, java.lang.String headline)
          Erzeugt eine neue Seite basierend auf template an diesem Container.
 void disconnectChild()
          Löst die Verlinkung der Kindseite von diesem Link.
 void disconnectChild(Page child)
          Löst die Verlinkung der gegebenen Kindseite von diesem Link.
 java.lang.String getAnchorGuid()
          Liefert die GUID dieses Links.
 Page getChildPage()
          Liefert die verlinkte Seite eines Ankers oder null, falls keine Seite angehängt ist.
 CmsClient getCmsClient()
          Liefert den CmsClient.
 java.lang.String getLogonGuid()
          Liefert die RedDot logon GUID.
 java.util.Iterator<MultiLink> getMultiLinksReferencingThisLink()
          Liefert einen Iterator für alle MultiLinks zurück, die auf diesen Anchor verweisen.
 java.lang.String getName()
          Liefert den Namen dieses Containers in der Seite, die den Container beinhaltet.
 Page getPage()
          Liefert die Seite, die diesen MultiLink beinhaltet.
 java.lang.String getPageGuid()
          Liefert die RedDot GUID der Seite.
 Project getProject()
          Liefert das Projekt.
 java.lang.String getProjectGuid()
          Liefert die RedDot GUID des Projekts.
 java.lang.String getSessionKey()
          Liefert den RedDot Session key.
 java.lang.String getUrl()
          Liefert die zugewiesene URL oder null, falls dieser Link keine hat.
 boolean hasChildPage()
          Liefert true, falls an diesem Anchor eine Seiten angehängt ist.
 boolean isAnchor()
          Liefert immer true.
 void referenceTo(MultiLink targetMultiLink)
          Erstellt eine RD Referenz von diesem Link (als Source) zu dem gegebenen target MultiLink.
 void referenceTo(Page targetPage)
          Erstellt eine RD Referenz von diesem Link (als Source) zu der gegebenen target Seite.
 void setUrl(java.lang.String url)
          Setzt die gegebene URL an diesem Link.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Anchor

public Anchor(Page page,
              java.lang.String name,
              java.lang.String anchorGuid)
Container constructor comment.

Parameters:
page - Seite, die diesen Anker beinhaltet.
name - Name des Ankers auf Seite page
anchorGuid - GUID des Ankers auf Seite page
Method Detail

assignAuthorizationPackage

public void assignAuthorizationPackage(AuthorizationPackage authorizationPackage)
                                throws RQLException
Ordnet diesem Anchor das gegebene Berechtigungspaket zu.

Throws:
RQLException

callCms

public RQLNode callCms(java.lang.String rqlRequest)
                throws RQLException
Senden eine Anfrage an das CMS und liefert eine geparste Antwort zurueck.

Specified by:
callCms in interface CmsClientContainer
Throws:
RQLException

callCmsWithoutParsing

public java.lang.String callCmsWithoutParsing(java.lang.String rqlRequest)
                                       throws RQLException
Senden eine Anfrage an das CMS und liefert eine ungeparste Antwort zurueck. Erforderlich für die Ermittlung des Werts eines Textelements.

Specified by:
callCmsWithoutParsing in interface CmsClientContainer
Throws:
RQLException

createAndConnectPage

public Page createAndConnectPage(Template template,
                                 java.lang.String headline)
                          throws RQLException
Erzeugt eine neue Seite basierend auf template an diesem Container. Die Templatevorbelegung wird dabei nicht geprueft!

Parameters:
template - Typ der neu erstellten Seite.
headline - Ueberschrift der neu erstellten Seite
Throws:
RQLException

disconnectChild

public void disconnectChild()
                     throws RQLException
Löst die Verlinkung der Kindseite von diesem Link. Tut nichts, falls dieser Link keine Kindseite besitzt

Throws:
RQLException

disconnectChild

public void disconnectChild(Page child)
                     throws RQLException
Löst die Verlinkung der gegebenen Kindseite von diesem Link. Tut nichts, falls dieser Link keine Kindseite besitzt

TODO what if given page is not a child?

Throws:
RQLException

getAnchorGuid

public java.lang.String getAnchorGuid()
Liefert die GUID dieses Links.

Returns:
java.lang.String

getChildPage

public Page getChildPage()
                  throws RQLException
Liefert die verlinkte Seite eines Ankers oder null, falls keine Seite angehängt ist.

Throws:
RQLException
See Also:
MultiLink

getCmsClient

public CmsClient getCmsClient()
Liefert den CmsClient.

Specified by:
getCmsClient in interface CmsClientContainer

getLogonGuid

public java.lang.String getLogonGuid()
Liefert die RedDot logon GUID.

Specified by:
getLogonGuid in interface CmsClientContainer

getMultiLinksReferencingThisLink

public java.util.Iterator<MultiLink> getMultiLinksReferencingThisLink()
                                                               throws RQLException
Liefert einen Iterator für alle MultiLinks zurück, die auf diesen Anchor verweisen. Das Ergebnis entspricht der RD Funktion show reference list (auch für Frameelement!). Templateelemente, die ebenfalls diesen Anchor referenzieren werden nicht geliefert (fehlen bereits im RQL). Sie werden auch nicht durch die RD Funktion show reference list geliefert!

Throws:
RQLException

getName

public java.lang.String getName()
Liefert den Namen dieses Containers in der Seite, die den Container beinhaltet.

Returns:
java.lang.String

getPage

public Page getPage()
Liefert die Seite, die diesen MultiLink beinhaltet.

Specified by:
getPage in interface PageContainer

getPageGuid

public java.lang.String getPageGuid()
Liefert die RedDot GUID der Seite.

Specified by:
getPageGuid in interface PageContainer

getProject

public Project getProject()
Liefert das Projekt.

Specified by:
getProject in interface ProjectContainer

getProjectGuid

public java.lang.String getProjectGuid()
                                throws RQLException
Liefert die RedDot GUID des Projekts.

Specified by:
getProjectGuid in interface ProjectContainer
Throws:
RQLException

getSessionKey

public java.lang.String getSessionKey()
Liefert den RedDot Session key.

Specified by:
getSessionKey in interface ProjectContainer

getUrl

public java.lang.String getUrl()
                        throws RQLException
Liefert die zugewiesene URL oder null, falls dieser Link keine hat.

Throws:
RQLException

hasChildPage

public boolean hasChildPage()
                     throws RQLException
Liefert true, falls an diesem Anchor eine Seiten angehängt ist.

Throws:
RQLException

isAnchor

public final boolean isAnchor()
Liefert immer true. Alle subklassen sind anchor.


referenceTo

public void referenceTo(Page targetPage)
                 throws RQLException
Erstellt eine RD Referenz von diesem Link (als Source) zu der gegebenen target Seite.

Throws:
RQLException

setUrl

public void setUrl(java.lang.String url)
            throws RQLException
Setzt die gegebene URL an diesem Link.

Throws:
RQLException

referenceTo

public void referenceTo(MultiLink targetMultiLink)
                 throws RQLException
Erstellt eine RD Referenz von diesem Link (als Source) zu dem gegebenen target MultiLink.

ACHTUNG: Referenzen auf Links können zu Problemen bei der Generierung führen. Z.B. hlag.com Container referenziert Link, Seiten unter Worldwide Offices werden bei Generierung gar nicht betrachtet!

Throws:
RQLException