/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.content; import java.util.Collection; import com.enonic.cms.core.content.category.CategoryAccessType; import com.enonic.cms.core.content.index.ContentIndexQuery.CategoryAccessTypeFilterPolicy; import com.enonic.cms.core.security.group.GroupKey; import com.enonic.cms.core.security.user.UserEntity; import com.enonic.cms.core.security.user.UserKey; /** * This class represents the specification of a getContentByCategory search. */ public class ContentVersionSpecification { private UserKey modifier; private Integer contentStatus; private Collection<CategoryAccessType> categoryAccessTypeFilter; private CategoryAccessTypeFilterPolicy categoryAccessTypeFilterPolicy; private UserEntity user; private Collection<GroupKey> securityFilter; public void setModifier( UserKey key ) { this.modifier = key; } public void setStatus( int status ) { this.contentStatus = status; } public Integer getContentStatus() { return contentStatus; } public void setContentStatus( Integer contentStatus ) { this.contentStatus = contentStatus; } public UserKey getModifier() { return modifier; } public void setCategoryAccessTypeFilter( final Collection<CategoryAccessType> categoryAccessTypeFilter, final CategoryAccessTypeFilterPolicy policy ) { if ( policy == null ) { throw new IllegalArgumentException( "NULL policy not allowed" ); } this.categoryAccessTypeFilter = categoryAccessTypeFilter; this.categoryAccessTypeFilterPolicy = policy; } public Collection<CategoryAccessType> getCategoryAccessTypeFilter() { return categoryAccessTypeFilter; } public CategoryAccessTypeFilterPolicy getCategoryAccessTypeFilterPolicy() { return categoryAccessTypeFilterPolicy; } public UserEntity getUser() { return user; } public void setUser( UserEntity user ) { this.user = user; } public void setSecurityFilter( Collection<GroupKey> filter ) { securityFilter = filter; } public Collection<GroupKey> getSecurityFilter() { return securityFilter; } }