Package com.jalios.jcms.handler
Class AbstractQueryHandler<E>
- java.lang.Object
-
- com.jalios.jcms.context.JcmsContext
-
- com.jalios.jcms.context.JcmsJspContext
-
- com.jalios.jcms.handler.JcmsFormHandler
-
- com.jalios.jcms.handler.AbstractQueryHandler<E>
-
- Type Parameters:
E- The type of Object being manipulated by the implementation of AbstractQueryHandler
- All Implemented Interfaces:
JcmsConstants,JaliosConstants
- Direct Known Subclasses:
AbstractMemberQueryHandler,ArchiveQueryHandler,CategoryQueryHandler,GroupQueryHandler,QueryHandler,WorkspaceQueryHandler,WorkspaceQueryHandler
public abstract class AbstractQueryHandler<E> extends JcmsFormHandler
Superclass of query handlers.- Since:
- jcms-5.7.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractQueryHandler.HiddenParamQhPrinterHTML hidden input implementation of a QueryHandlerPrinterprotected static classAbstractQueryHandler.QueryHandlerPrinterAbstract class defining method used during params printing.static classAbstractQueryHandler.QueryStringQhPrinterQueryString implementation of a QueryHandlerPrinter
-
Field Summary
-
Fields inherited from class com.jalios.jcms.handler.JcmsFormHandler
contextMap, csrfValidationEnabled, editFieldSet, formStep, noRedirect, noSendRedirect, op, opFinish, opNext, opPrevious, popupEdition, redirect, redirectOnClosePopup, workspaceForced
-
Fields inherited from class com.jalios.jcms.context.JcmsJspContext
AJAX_REQUEST_ATTRIBUTES, BODY_HEADER, CSS_FOOTER, CSS_HEADER, cssboMap, cssfoMap, CUSTOM_HEADER, editIcon, HTTPEQUIV_HEADER, httpequivMap, HTTPNAME_HEADER, httpnameMap, initEditIcon, JAVASCRIPT_CODE_SET_ATTRIBUTE, JAVASCRIPT_SET_ATTRIBUTE, jsboSet, jsfoSet, out, pageContext, SHOW_EDIT_ICON, STYLE_HEADER
-
Fields inherited from class com.jalios.jcms.context.JcmsContext
browser, caddy, channel, inFO, initDone, initWorkspace, isAdmin, isAjaxRequest, isDBMember, isDebug, isDebugTemplatePath, isLogged, loggedMember, request, response, userCountry, userLang, userLocale, userZoneId, workspace
-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Constructor Summary
Constructors Constructor Description AbstractQueryHandler()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectgetAttribute(java.lang.String name)Returns the value of the named attribute as anObject, ornullif no attribute of the given name exists.java.util.Map<java.lang.String,java.lang.Object>getAttributeMap()Returns a java.util.Map of the attributes of this results.java.util.Set<? extends E>getDataSet()Retrieves the baseSetofDatato use for the query, results of this query will be taken from this Set.java.lang.StringgetHiddenParams()Returns all parameters of this QueryHandler as a hidden input.
For example :protected abstract org.apache.log4j.LoggergetLogger()java.lang.StringgetQueryString()Returns all parameters of this handler as a queryString.
For example :protected voidinit(java.lang.String queryString, javax.servlet.http.HttpServletRequest request)Method to be called by constructor to initialize this handler from a querystring and an optional request.static java.util.Hashtable<java.lang.String,java.lang.String[]>parseQueryString(java.lang.String s)Parses a query string passed from the client to the server and builds aHashTableobject with key-value pairs.protected abstract voidparseQueryStringParam(java.lang.String paramName, java.lang.String[] paramValues)Method to be implemented by subclass to decode parameter from queryString.protected abstract java.lang.StringprintParams(AbstractQueryHandler.QueryHandlerPrinter printer)Method to be implemented by subclass to provide params printing in query or hidden input format.
Typical implementation :java.lang.ObjectremoveAttribute(java.lang.String name)Removes an attribute from this result.java.lang.ObjectsetAttribute(java.lang.String name, java.lang.Object obj)Stores an attribute in this query.voidsetDataSet(java.util.Set<? extends E> proposedDataSet)Defines the baseSetofDatato use for the query, results of this query will be taken from this Set.-
Methods inherited from class com.jalios.jcms.handler.JcmsFormHandler
afterValidation, canStartProcess, checkMissingField, getAvailableMainLanguage, getBackgroundProcess, getClosePopupUrl, getControllerContext, getEditFieldSet, getFormStep, getFormStepCount, getFormStepFinishLabel, getFormStepHiddenFields, getFormStepLabels, getFormStepPrefixProp, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenField, getHiddenFieldML, getMainLangValue, getMainLangValueArray, getMLMap, getMLMapArray, getModalRedirect, getMonolingualValue, getMonolingualValueArray, getMultilingualMainValue, getMultilingualMainValueArray, getMultilingualMLMap, getMultilingualMLMapArray, getRedirect, getRedirectOnClosePopup, getWorkspace, init, isFieldEdition, isFieldMissing, isFormStepClickable, isPartialFieldEdition, isPopupEdition, isWorkspaceForced, mapStringArrayToMapStringList, mapStringListToMapStringArray, mustSendForbiddenOnCSRF, performFinish, performNext, performPrevious, processAction, processStatus, sanitize, sanitize, sendRedirect, sendRedirect, setEditField, setFormStep, setNoRedirect, setNoSendRedirect, setOpFinish, setOpNext, setOpPrevious, setPopupEdition, setRedirect, setRedirectOnClosePopup, setWorkspace, setWs, showCancelButton, showFinishButton, showNextButton, showPreviousButton, startProcess, updateUploadedField, updateUploadedFields, updateUploadedFields, validate, validateCSRF, validateFinish, validateNext, validatePrevious
-
Methods inherited from class com.jalios.jcms.context.JcmsJspContext
addAvoidanceLink, addBodyAttributes, addCSSHeader, addCSSHeader, addCSSHeader, addCSSHeader, addCustomHeader, addHandlebarTemplate, addHttpEquivHeader, addHttpNameHeader, addJavaScript, addJavaScript, addJavaScript, addJavaScriptCode, addPrefetchHeader, addStyleHeader, addStyleHeader, addWebAssets, checkAccess, checkAccess, checkCSRF, debugDisplayContext, disablePacker, forceEditIcon, forceUpdate, getAjaxRequestAttribute, getAjaxRequestId, getAllHeadersDiffMap, getAllHeadersMap, getAvoidanceLinks, getBackOfficeCSSHeader, getBackOfficeJavaScriptSet, getBodyAttributes, getContentForm, getCSSHeaders, getCtxCategories, getCurrentCategory, getCustomHeaders, getDocType, getFinalCSSFooterMap, getFinalCSSMap, getFinalJavaScriptSet, getFrontOfficeCSSHeader, getFrontOfficeJavaScriptSet, getHandlebarTemplates, getHttpEquivHeaders, getHttpNameHeaders, getJavaScriptCodeSet, getJavaScriptSet, getJSONBridge, getPageContext, getPageTitle, getPageZone, getPortal, getPortalCategory, getPortlet, getPublication, getStyleHeaders, getTemplateUsage, internalSetupEmptyHeader, isEditIcon, isEditIcon, isEditIconForPublish, isEditIconForPublish, isPrintView, registerDisplayContext, removeAjaxRequestAttribute, setAjaxRequestAttribute, setAjaxRequestId, setAllHeadersDiffMap, setDocType, setEditIcon, setPageContext, setPageTitle, setPageZone, setShowEditIcon, setTemplateUsage, showEditIcon, showEditIcon, showEditIcon, workaroundBrowserBaseHrefBug
-
Methods inherited from class com.jalios.jcms.context.JcmsContext
addCookie, addMsg, addMsg, addMsgSession, addMsgSession, addToastr, addToastr, addToastrSession, addToastrSession, applySelector, copyMsgListToMsgSessionList, forceWorkspaceUpdate, getBaseUrl, getBrowser, getCaddy, getContextPath, getErrorMsg, getErrorMsgList, getErrorMsgSession, getErrorMsgSessionList, getInfoMsg, getInfoMsgList, getInfoMsgSession, getInfoMsgSessionList, getLoggedMember, getMsgList, getMsgSessionList, getRequest, getResponse, getSession, getSuccessMsg, getSuccessMsgList, getSuccessMsgSession, getSuccessMsgSessionList, getToastrCollection, getToastrSessionCollection, getUploadedFile, getUploadedFileList, getUploadedFiles, getUploadedFiles, getUrlWithCommonUpdatedParams, getUserCountry, getUserLang, getUserLocale, getUserZoneId, getWarningMsg, getWarningMsgList, getWarningMsgSession, getWarningMsgSessionList, glp, isAdmin, isAdminZone, isAjaxRequest, isDBMember, isDebug, isDebugTemplate, isInFrontOffice, isLogged, isWebdavAccess, isWorkZone, removeMessage, removeMessage, removeMsg, retrieveUploadedFile, select, sendError, sendError, sendForbidden, sendForbidden, sendRedirect, sendRedirect, sendRedirect, setErrorMsg, setErrorMsg, setErrorMsgSession, setErrorMsgSession, setInfoMsg, setInfoMsg, setInfoMsgSession, setInfoMsgSession, setLoggedMember, setRequest, setResponse, setSuccessMsg, setSuccessMsg, setSuccessMsgSession, setSuccessMsgSession, setWarningMsg, setWarningMsg, setWarningMsgSession, setWarningMsgSession, updateWorkspace, validateRegexp, validateSchedule
-
-
-
-
Method Detail
-
getLogger
protected abstract org.apache.log4j.Logger getLogger()
-
parseQueryStringParam
protected abstract void parseQueryStringParam(java.lang.String paramName, java.lang.String[] paramValues)Method to be implemented by subclass to decode parameter from queryString.- Parameters:
paramName- the parameter name, never null nor empty.paramValues- the parameter values, NEVER NULL NOR EMPTY. You can safely invokeparamValues[0]- Since:
- jcms-5.7.5
-
init
protected void init(java.lang.String queryString, javax.servlet.http.HttpServletRequest request)Method to be called by constructor to initialize this handler from a querystring and an optional request.- Parameters:
queryString- a query String consisting of parameters (key=value) to be set in this handler.- Parameters must be separated with ampersand (&).
- Values must be encoded in UTF-8.
- Query must not starts with question mark (?)
e.g :"groupText=welcome&gid=j_42"
request- theHttpServletRequestto use to retrieveloggedMember,userLang,userLocalethat will be used by this handler, ignored if null.- Since:
- jcms-5.7.4
-
parseQueryString
public static java.util.Hashtable<java.lang.String,java.lang.String[]> parseQueryString(java.lang.String s)
Parses a query string passed from the client to the server and builds aHashTableobject with key-value pairs. The query string should be in the form of a string packaged by the GET or POST method, that is, it should have key-value pairs in the form key=value, with each pair separated from the next by a & character.A key can appear more than once in the query string with different values. However, the key appears only once in the hashtable, with its value being an array of strings containing the multiple values sent by the query string.
The keys and values in the hashtable are stored in their decoded form, so any + characters are converted to spaces, and characters sent in hexadecimal notation (like %wx%yz) are converted to UTF-8 characters.
Method taken from deprecated package javax.servlet.http.HttpUtils.
- Parameters:
s- a string containing the query to be parsed- Returns:
- a
HashTableobject built from the parsed key-value pairs - Throws:
java.lang.IllegalArgumentException- if the query string is invalid
-
setDataSet
public void setDataSet(java.util.Set<? extends E> proposedDataSet)
Defines the baseSetofDatato use for the query, results of this query will be taken from this Set. Default is null, which performs a search in all data, invoke this method to provide a smaller set to optimize the query.- Parameters:
proposedDataSet- aSetofData- Since:
- jcms-5.7.4
-
getDataSet
public java.util.Set<? extends E> getDataSet()
Retrieves the baseSetofDatato use for the query, results of this query will be taken from this Set.- Returns:
- a
SetofDataof null if no base set has been defined (and that all data will be used). - Since:
- jcms-5.7.4
- See Also:
setDataSet(Set)
-
setAttribute
public java.lang.Object setAttribute(java.lang.String name, java.lang.Object obj)Stores an attribute in this query.
If the object passed in is null, the effect is the same as callingremoveAttribute(java.lang.String).- Parameters:
name- aStringspecifying the name of the attributeobj- theObjectto be stored- Returns:
- previous value associated with specified name, or
nullif there was no mapping for name. Anullreturn can also indicate thatnullwas associated with the specified name. - Since:
- jcms-5.7.2
-
removeAttribute
public java.lang.Object removeAttribute(java.lang.String name)
Removes an attribute from this result.- Parameters:
name- aStringspecifying- Returns:
- previous value associated with specified name, or
nullif there was no mapping for name. Anullreturn can also indicate thatnullwas associated with the specified name. - Since:
- jcms-5.7.2
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
Returns the value of the named attribute as anObject, ornullif no attribute of the given name exists.- Parameters:
name- aStringspecifying the name of the attribute- Returns:
- an
Objectcontaining the value of the attribute, ornullif the attribute does not exist - Since:
- jcms-5.7.2
-
getAttributeMap
public java.util.Map<java.lang.String,java.lang.Object> getAttributeMap()
Returns a java.util.Map of the attributes of this results.- Returns:
- the internal Map used by this results, modify with care.
- Since:
- jcms-5.7.2
-
getQueryString
public java.lang.String getQueryString()
Returns all parameters of this handler as a queryString.
For example :"types=Content&cids=c_42"
- Returns:
- a query string, starting with a parameter name (no '?' or '&')
-
getHiddenParams
public java.lang.String getHiddenParams()
Returns all parameters of this QueryHandler as a hidden input.
For example :<input type="hidden" name="types" value="Content"/> <input type="hidden" name="cids" value="c_42"/>
- Returns:
- a html string, containing all hidden inputs.
- Since:
- jcms-5.7.0
-
printParams
protected abstract java.lang.String printParams(AbstractQueryHandler.QueryHandlerPrinter printer)
Method to be implemented by subclass to provide params printing in query or hidden input format.
Typical implementation :protected String printParams(QueryHandlerPrinter printer) { printer.printParam("foo", getFoo()); printer.printParam("bar", getBar()); return printer.toString(); }- Parameters:
printer- a QueryHandlerPrinter to use- Returns:
- a string containing all parameters of this handler printed using specified QueryHandlerPrinter.
- Since:
- jcms-5.7.4
-
-