Package org.cyclos.impl.system
Class BaseCategorizedImageServiceImpl<I extends Image & ICategorizedImage<C>,C extends BaseEntity,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>
- java.lang.Object
-
- org.cyclos.impl.AbstractServerComponent
-
- org.cyclos.impl.AbstractNetworkedServerComponent
-
- org.cyclos.impl.BaseServiceImpl
-
- org.cyclos.impl.system.BaseImageServiceImpl<I,A,NP>
-
- org.cyclos.impl.system.BaseCategorizedImageServiceImpl<I,C,A,NP>
-
- All Implemented Interfaces:
BaseCategorizedImageServiceLocal<I,C,NP>,BaseImageServiceLocal<I,NP>,Service,BaseCategorizedImageService<NP>,BaseImageService<NP>
- Direct Known Subclasses:
BaseCustomImageServiceImpl,BaseOwnedImageServiceImpl
public abstract class BaseCategorizedImageServiceImpl<I extends Image & ICategorizedImage<C>,C extends BaseEntity,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity> extends BaseImageServiceImpl<I,A,NP> implements BaseCategorizedImageServiceLocal<I,C,NP>
Base service implementation for categorized images.
-
-
Field Summary
Fields Modifier and Type Field Description protected BeanHandlerbeanHandlerprotected com.querydsl.core.types.EntityPath<C>categoryPathprotected Class<C>categoryType-
Fields inherited from class org.cyclos.impl.system.BaseImageServiceImpl
$, imageHandler, imageType, nature, storedFileHandler
-
Fields inherited from class org.cyclos.impl.AbstractNetworkedServerComponent
authHandler, conversionHandler, customFieldValueHandler, entityManagerHandler, groupsHandler, productsHandler, restBeanPropertyMapping, userLocatorHandler
-
Fields inherited from class org.cyclos.impl.AbstractServerComponent
accountHandler, configurationHandler, dataTranslationHandler, notificationHandler, profileFieldHandler, transactionHandler, translationHandler
-
-
Constructor Summary
Constructors Constructor Description BaseCategorizedImageServiceImpl(ImageNature nature, Class<I> imageType, Class<C> categoryType, A alias, com.querydsl.core.types.EntityPath<C> categoryPath)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected intcount(C category)protected voidcustomizeListByCategoryQuery(DBQuery<?> query, C category)Sub-classes can override this method to customize the query used to list the images by category.protected CfindCategory(Long id)ImagesListDatagetListData(NP categoryVO)Returns data for listing images of the given categoryprotected abstract booleanisCategoryActive(C category)protected booleanisRequired(C category)Can be implemented to indicated that images are required for the given categoryList<ImageVO>list(NP categoryVO)Lists all images for the given categoryList<I>listByCategory(C category)Returns all images this category hasInewImage(NP categoryVO)Returns a new image for the given parametersprotected voidremove(IEntity entity)intremoveAll(C category)Removes all images of the given categoryprotected abstract intresolveMaxImages(C category)Must be implemented in order to resolve the maximum images upload limit.ImageVOsave(NP categoryVO, String name, SerializableInputStream content, String contentType)Saves the given image for the given parameter (which depends on each image type), returning the descriptorprotected CtoCategory(NP vo)protected voidvalidateMaxImages(C category)protected voidvalidateMaxImages(NP categoryVO)May be overridden in order to validate maximum images upload limit-
Methods inherited from class org.cyclos.impl.system.BaseImageServiceImpl
find, findByKey, getImageNature, isKeepOriginalContent, onAfterRemove, onAfterSave, onBeforeRemove, readContent, readContentByKey, remove, removeAll, saveName, setDataAndPersist, setImageName
-
Methods inherited from class org.cyclos.impl.BaseServiceImpl
initializeNetworkMappings, registerNetworkMappings
-
Methods inherited from class org.cyclos.impl.AbstractNetworkedServerComponent
canManage, checkManagesUser, checkPermission, checkRelatesToUser, checkValue, clearAlreadyValidated, getBaseEntityManagerHandler, getConfiguration, getLoggedBasicUser, getLoggedUser, getProducts, getTranslatedName, getTranslatedValue, hasPermission, hasValue, inSameNetwork, inSameNetworkOrGlobal, isAdmin, isAlreadyValidated, isBroker, isGlobalAdmin, isGlobalAdminInNetwork, isGuest, isLoggedIn, isMember, isMemberOnly, isNetworkAdmin, isOperator, isRelatedToUser, isSystem, isUserManager, isUserManagerOf, message, message, permission, permission, permissionOptionalValue, permissionOptionalValue, setAlreadyValidated, toDate, toDateTime, validate
-
Methods inherited from class org.cyclos.impl.AbstractServerComponent
dataTranslationProxy, dataTranslationProxy, delete, detach, doDataTranslationProxy, find, flush, from, getApplicationContext, getFormatter, getFormatter, getFormatter, getLogger, getRemoteAddress, getSessionData, mailContentBuilder, message, message, persist, processBatch, processBatch, refresh, selectFrom, subQuery, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.cyclos.services.system.BaseImageService
remove, removeAll, saveName
-
Methods inherited from interface org.cyclos.impl.system.BaseImageServiceLocal
find, getImageNature, readContent, readContentByKey
-
-
-
-
Field Detail
-
beanHandler
@Autowired protected BeanHandler beanHandler
-
categoryType
protected final Class<C extends BaseEntity> categoryType
-
categoryPath
protected final com.querydsl.core.types.EntityPath<C extends BaseEntity> categoryPath
-
-
Method Detail
-
getListData
public ImagesListData getListData(NP categoryVO) throws FrameworkException
Description copied from interface:BaseCategorizedImageServiceReturns data for listing images of the given category- Specified by:
getListDatain interfaceBaseCategorizedImageService<I extends Image & ICategorizedImage<C>>- Throws:
FrameworkException
-
list
public List<ImageVO> list(NP categoryVO) throws FrameworkException
Description copied from interface:BaseCategorizedImageServiceLists all images for the given category- Specified by:
listin interfaceBaseCategorizedImageService<I extends Image & ICategorizedImage<C>>- Throws:
FrameworkException
-
listByCategory
public List<I> listByCategory(C category)
Description copied from interface:BaseCategorizedImageServiceLocalReturns all images this category has- Specified by:
listByCategoryin interfaceBaseCategorizedImageServiceLocal<I extends Image & ICategorizedImage<C>,C extends BaseEntity,A extends com.querydsl.core.types.EntityPath<I>>
-
newImage
public I newImage(NP categoryVO)
Description copied from class:BaseImageServiceImplReturns a new image for the given parameters- Specified by:
newImagein classBaseImageServiceImpl<I extends Image & ICategorizedImage<C>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>
-
removeAll
public int removeAll(C category)
Description copied from interface:BaseCategorizedImageServiceLocalRemoves all images of the given category- Specified by:
removeAllin interfaceBaseCategorizedImageServiceLocal<I extends Image & ICategorizedImage<C>,C extends BaseEntity,A extends com.querydsl.core.types.EntityPath<I>>
-
save
public ImageVO save(NP categoryVO, String name, SerializableInputStream content, String contentType) throws FrameworkException
Description copied from interface:BaseImageServiceSaves the given image for the given parameter (which depends on each image type), returning the descriptor- Specified by:
savein interfaceBaseImageService<I extends Image & ICategorizedImage<C>>- Overrides:
savein classBaseImageServiceImpl<I extends Image & ICategorizedImage<C>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>- Throws:
FrameworkException
-
count
protected int count(C category) throws FrameworkException
- Throws:
FrameworkException
-
customizeListByCategoryQuery
protected void customizeListByCategoryQuery(DBQuery<?> query, C category)
Sub-classes can override this method to customize the query used to list the images by category.
-
isCategoryActive
protected abstract boolean isCategoryActive(C category)
-
isRequired
protected boolean isRequired(C category)
Can be implemented to indicated that images are required for the given category
-
remove
protected void remove(IEntity entity)
- Overrides:
removein classAbstractServerComponent- See Also:
BaseEntityManagerHandler.remove(IEntity)
-
resolveMaxImages
protected abstract int resolveMaxImages(C category)
Must be implemented in order to resolve the maximum images upload limit. Returns a negative number for unlimited upload.
-
validateMaxImages
protected void validateMaxImages(C category) throws MaxItemsException
- Throws:
MaxItemsException
-
validateMaxImages
protected void validateMaxImages(NP categoryVO) throws MaxItemsException
Description copied from class:BaseImageServiceImplMay be overridden in order to validate maximum images upload limit- Overrides:
validateMaxImagesin classBaseImageServiceImpl<I extends Image & ICategorizedImage<C>,A extends com.querydsl.core.types.EntityPath<I>,NP extends IEntity>- Throws:
MaxItemsException
-
-