atg.endeca.assembler.cartridge.renderer
Class ContentItemToRendererPathImpl

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.endeca.assembler.cartridge.renderer.ContentItemToRendererPathImpl
All Implemented Interfaces:
ContentItemToRendererPath, atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener

public class ContentItemToRendererPathImpl
extends GenericService
implements ContentItemToRendererPath

An implementation of the atg.endeca.assembler.cartridge.renderer.ContentItemToRendererPath interface. Determines the JSP renderer for a particular ContentItem. The renderer is determined using the ContentItems item type. The formatString property indicates the format of the path of the JSP renderer. Placeholders in the format string are replaced with the current ContentItems type and using the array of replacementValueProducers.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
ContentItemToRendererPathImpl()
           
 
Method Summary
protected  void addMappedProperties(ContentItem pItem, java.util.Map pReplacements)
          Copy the property values specified by getContentItemToReplacementPropertyNames() to the replacements map.
 java.lang.String getCartridgeTypePropertyName()
           
 java.util.Map<java.lang.String,java.lang.String> getContentItemToReplacementPropertyNames()
          Returns property contentItemToReplacementPropertyNames.
 ContentItem getExampleContentItem()
          Return a sample ContentItem, whose type is "exampleType" and the properties defined by the exampleContentProperties property.
 java.util.Map<java.lang.String,java.lang.String> getExampleContentProperties()
          Returns property exampleContentProperties.
 java.lang.String getExamplePathForCurrentRequest()
          Return an example path based on the current request and any example properties.
 java.lang.String getFormatString()
           
 java.lang.String getRendererPathForContentItem(ContentItem pItem, javax.servlet.http.HttpServletRequest pRequest)
          Replaces the placeholders in the formatString property to determine the JSP renderer for a particular ContentItem.
protected  java.util.Map<java.lang.String,java.lang.String> getReplacements(java.lang.String pType, ContentItem pItem, javax.servlet.http.HttpServletRequest pRequest)
          Returns a Map of all the replacements for a particular content item type
 ReplacementValueProducer[] getReplacementValueProducers()
          Returns property replacementValueProducers.
 void setCartridgeTypePropertyName(java.lang.String pCartridgeTypePropertyName)
           
 void setContentItemToReplacementPropertyNames(java.util.Map<java.lang.String,java.lang.String> pContentItemToReplacementPropertyNames)
          Sets property contentItemToReplacementPropertyNames.
 void setExampleContentProperties(java.util.Map<java.lang.String,java.lang.String> pExampleContentProperties)
          Sets property exampleContentProperties.
 void setFormatString(java.lang.String pFormatString)
           
 void setReplacementValueProducers(ReplacementValueProducer[] pReplacementValueProducers)
          Sets property replacementValueProducers.
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string

Constructor Detail

ContentItemToRendererPathImpl

public ContentItemToRendererPathImpl()
Method Detail

getFormatString

public java.lang.String getFormatString()
Returns:
the formatString which indicates the format of the path to a JSP renderer for a particular content item. The formatString will likely contain place holders that are replaced depending on the current ContentItem, request or other factors.

setFormatString

public void setFormatString(java.lang.String pFormatString)
Parameters:
pFormatString - Set a new formatString.

setReplacementValueProducers

public void setReplacementValueProducers(ReplacementValueProducer[] pReplacementValueProducers)
Sets property replacementValueProducers. The array of value producers that populate the values available to the format string.


getReplacementValueProducers

public ReplacementValueProducer[] getReplacementValueProducers()
Returns property replacementValueProducers. The array of value producers that populate the values available to the format string.


getCartridgeTypePropertyName

public java.lang.String getCartridgeTypePropertyName()
Returns:
the cartridgeTypePropertyName which indicates the property in a ContentItem that identifies the ContentItem type. Defaults to "cartridgeType".

setCartridgeTypePropertyName

public void setCartridgeTypePropertyName(java.lang.String pCartridgeTypePropertyName)
Parameters:
pCartridgeTypePropertyName - Set a new cartridgeTypePropertyName

setExampleContentProperties

public void setExampleContentProperties(java.util.Map<java.lang.String,java.lang.String> pExampleContentProperties)
Sets property exampleContentProperties. Example ContentItem properties, used for creating an example ContentItem when debugging.


getExampleContentProperties

public java.util.Map<java.lang.String,java.lang.String> getExampleContentProperties()
Returns property exampleContentProperties. Example ContentItem properties, used for creating an example ContentItem when debugging.


setContentItemToReplacementPropertyNames

public void setContentItemToReplacementPropertyNames(java.util.Map<java.lang.String,java.lang.String> pContentItemToReplacementPropertyNames)
Sets property contentItemToReplacementPropertyNames. Maps whose keys are ContentItem property names and values are corresponding replacement property names.


getContentItemToReplacementPropertyNames

public java.util.Map<java.lang.String,java.lang.String> getContentItemToReplacementPropertyNames()
Returns property contentItemToReplacementPropertyNames. Maps whose keys are ContentItem property names and values are corresponding replacement property names.


getRendererPathForContentItem

public java.lang.String getRendererPathForContentItem(ContentItem pItem,
                                                      javax.servlet.http.HttpServletRequest pRequest)
Replaces the placeholders in the formatString property to determine the JSP renderer for a particular ContentItem. The place holder replacements are obtained from the ContentItem and from the replacementValueProducers array.

Specified by:
getRendererPathForContentItem in interface ContentItemToRendererPath
Parameters:
pItem - the content item to use.
pRequest - the current request. May be null.
Returns:
The path to a JSP renderer for the ContentItem pItem.

getReplacements

protected java.util.Map<java.lang.String,java.lang.String> getReplacements(java.lang.String pType,
                                                                           ContentItem pItem,
                                                                           javax.servlet.http.HttpServletRequest pRequest)
Returns a Map of all the replacements for a particular content item type

Parameters:
pType -

addMappedProperties

protected void addMappedProperties(ContentItem pItem,
                                   java.util.Map pReplacements)
Copy the property values specified by getContentItemToReplacementPropertyNames() to the replacements map.

Parameters:
pItem - the item from which to get properties values.
pReplacements - the map to put properties values into.

getExamplePathForCurrentRequest

public java.lang.String getExamplePathForCurrentRequest()
Return an example path based on the current request and any example properties.


getExampleContentItem

public ContentItem getExampleContentItem()
Return a sample ContentItem, whose type is "exampleType" and the properties defined by the exampleContentProperties property.

Returns:
a newly created BasicContentItem.