com.hlcl.rql.hip.as
Class TemplatePreassignmentsHelper

java.lang.Object
  extended by com.hlcl.rql.hip.as.TemplatePreassignmentsHelper

public class TemplatePreassignmentsHelper
extends java.lang.Object

Author:
lejafr This class replaces some standard methods in order to add possible content classes even if they are not preassigned. In the HIP project there are some content classes, like manual_toc_page which are created only via script and not preassigned. For example, moving a manual toc page to a leaf list page should be possible, even the manual toc page is not preassigned.

Constructor Summary
TemplatePreassignmentsHelper(Page assignmentMappingPage)
          Construct the helper instance for the given page.
 
Method Summary
 java.util.Set<Template> collectPreassignedTemplatesOfAllMultiLinkElements(Template template, boolean includeReferences)
          Sammelt in ein Set alle vorbelegten Templates aller MultiLink Templateelemente dieses Templates, ergänzt um weitere, die nicht per RQL erhältlich sind.
 java.util.List<Template> getAllowedTemplates(MultiLink link)
          Liefert alle vorbelegten Templates ergänzt um weitere, die nicht per RQL erhältlich sind.
 PageArrayList getNotAllowedChildPages(MultiLink link)
          Liefert eine Liste von Kindseiten, deren Template am gegebenen MultiLink nicht erlaubt ist.
 java.util.List<Template> getPreassignedTemplates(TemplateElement templateElement)
          Liefert alle vorbelegten Templates ergänzt um weitere, die nicht per RQL erhältlich sind.
 boolean isAtLeastOneChildMoveableToTarget(MultiLink link, Page targetPage, boolean includeReferences)
          Liefert true, falls es mindestens einen Link in targetPage gibt an den eine Kindseite diese Links verschoben werden kann, sonst false.
 boolean isConnectToExistingPageAllowed(MultiLink multiLink, Page connectToPage)
          Liefert true, falls die gegebene Seite an den gegebenen MultiLink verknüpft werden darf, sonst false.
 java.util.List<MultiLink> selectConnectToLinks(Page child, java.util.List assumedTargetLinks)
          Liefert eine Teilmenge der gegebenen Liste zurück, an die diese Seite gelinkt werden darf.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TemplatePreassignmentsHelper

public TemplatePreassignmentsHelper(Page assignmentMappingPage)
Construct the helper instance for the given page.

Method Detail

collectPreassignedTemplatesOfAllMultiLinkElements

public java.util.Set<Template> collectPreassignedTemplatesOfAllMultiLinkElements(Template template,
                                                                                 boolean includeReferences)
                                                                          throws RQLException
Sammelt in ein Set alle vorbelegten Templates aller MultiLink Templateelemente dieses Templates, ergänzt um weitere, die nicht per RQL erhältlich sind.

Parameters:
includeReferences - =true, auch Elemente, die Referenzquelle sind werden geliefert (haben keine Childs!) =false, ohne Element, die Referenzquelle sind (nur diese haben Childs!)
Returns:
java.util.Set of Templates
Throws:
RQLException

getAllowedTemplates

public java.util.List<Template> getAllowedTemplates(MultiLink link)
                                             throws RQLException
Liefert alle vorbelegten Templates ergänzt um weitere, die nicht per RQL erhältlich sind.

Throws:
RQLException

getNotAllowedChildPages

public PageArrayList getNotAllowedChildPages(MultiLink link)
                                      throws RQLException
Liefert eine Liste von Kindseiten, deren Template am gegebenen MultiLink nicht erlaubt ist. Berücksichtigt die additional preassignments.

Throws:
RQLException

getPreassignedTemplates

public java.util.List<Template> getPreassignedTemplates(TemplateElement templateElement)
                                                 throws RQLException
Liefert alle vorbelegten Templates ergänzt um weitere, die nicht per RQL erhältlich sind.

Throws:
RQLException

isAtLeastOneChildMoveableToTarget

public boolean isAtLeastOneChildMoveableToTarget(MultiLink link,
                                                 Page targetPage,
                                                 boolean includeReferences)
                                          throws RQLException
Liefert true, falls es mindestens einen Link in targetPage gibt an den eine Kindseite diese Links verschoben werden kann, sonst false. Es werden die TemplateVorbelegungen dieses Links und der targetPage ausgewertet.

Parameters:
includeReferences - =true, auch TemplateElemente, die Referenzquelle sind werden geliefert (haben keine Childs!) =false, ohne TemplateElemente, die Referenzquelle sind (nur diese haben Childs!)
Throws:
RQLException

isConnectToExistingPageAllowed

public boolean isConnectToExistingPageAllowed(MultiLink multiLink,
                                              Page connectToPage)
                                       throws RQLException
Liefert true, falls die gegebene Seite an den gegebenen MultiLink verknüpft werden darf, sonst false.

Berücksichtigt neben den Templatevorbelegungen auch zusätzliche, z.B. manual_toc_page, die in RD nicht zugelassen, aber erlaubt sind.

Throws:
RQLException

selectConnectToLinks

public java.util.List<MultiLink> selectConnectToLinks(Page child,
                                                      java.util.List assumedTargetLinks)
                                               throws RQLException
Liefert eine Teilmenge der gegebenen Liste zurück, an die diese Seite gelinkt werden darf. D.h. das Template dieser Seite ist allen zurückgegebenen Links vorbelegt. Es werden auch zugelassene Templates an Elementen berücksichtigt, die nicht über RQL zurückgegeben werden.

Parameters:
assumedTargetLinks - Liste of MultiLinks
Returns:
java.util.List Liste of MultiLinks, Teilmenge von assumedTargetLinks oder leere Liste
Throws:
RQLException