/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.content.query; import java.util.Date; import com.enonic.cms.core.content.resultset.ContentResultSet; import com.enonic.cms.core.security.user.UserEntity; public class RelatedContentQuery { private UserEntity user; private ContentResultSet contentResultSet; private int parentLevel = 0; private int childrenLevel = 0; private int parentChildrenLevel = 0; private boolean includeOnlyMainVersions = true; private boolean contentOnline = true; private Date onlineCheckDate = null; public RelatedContentQuery( RelatedContentQuery source ) { this( source.onlineCheckDate ); this.user = source.user; this.contentResultSet = source.contentResultSet; this.parentLevel = source.parentLevel; this.childrenLevel = source.childrenLevel; this.parentChildrenLevel = source.parentChildrenLevel; this.includeOnlyMainVersions = source.includeOnlyMainVersions; this.contentOnline = source.contentOnline; this.onlineCheckDate = source.onlineCheckDate; } public RelatedContentQuery( Date onlineCheckDate ) { this.onlineCheckDate = onlineCheckDate; } public UserEntity getUser() { return user; } public void setUser( UserEntity user ) { this.user = user; } public ContentResultSet getContentResultSet() { return contentResultSet; } public void setContentResultSet( ContentResultSet contentResultSet ) { this.contentResultSet = contentResultSet; } public int getParentLevel() { return parentLevel; } public void setParentLevel( int parentLevel ) { this.parentLevel = parentLevel; } public int getChildrenLevel() { return childrenLevel; } public void setChildrenLevel( int childrenLevel ) { this.childrenLevel = childrenLevel; } public int getParentChildrenLevel() { return parentChildrenLevel; } public void setParentChildrenLevel( int parentChildrenLevel ) { this.parentChildrenLevel = parentChildrenLevel; } public boolean includeOnlyMainVersions() { return includeOnlyMainVersions; } public void setIncludeOnlyMainVersions( boolean includeOnlyMainVersions ) { this.includeOnlyMainVersions = includeOnlyMainVersions; } /** * Generates a filter that will only include content that is online at a given date. This date will normally be now. * * @param onlineAt The date when the content was online. */ public void setFilterContentOnlineAt( Date onlineAt ) { this.contentOnline = true; this.onlineCheckDate = onlineAt; } /** * Opens up the content filter, so that all content, online or offline will be searched. */ public void setFilterIncludeOfflineContent() { this.contentOnline = false; } public boolean isFilterContentOnline() { return this.contentOnline; } public void setOnlineCheckDate( Date onlineCheckDate ) { this.onlineCheckDate = onlineCheckDate; } public Date getOnlineCheckDate() { return this.onlineCheckDate; } }