Package de.espirit.firstspirit.generate
Interface UrlFactory
public interface UrlFactory
Factory producing URLs for 
Instances are registered in the module.xml file like this:
If the data for a URI component would conflict with the reserved purpose, then the conflicting data must be escaped before forming the URI. Reserved according to RFC-2396 are ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ",".
Instances created by FirstSpirit are
Implementations should be thread safe. This is best achieved by avoiding local state despite state derived from
media and
 content producers.
 Instances are registered in the module.xml file like this:
     <module>
         <components>
             <public>
                 <name>{name}</name>
                 <class>de.espirit.firstspirit.generate.UrlCreatorSpecification</class>
                 <configuration>
                     <UrlFactory>{full qualified class name}</UrlFactory>
                     <!-- insert parameters for your implementation here, see init(java.util.Map, PathLookup) -->
                 </configuration>
             </public>
         </components>
     </module>
 
 If the data for a URI component would conflict with the reserved purpose, then the conflicting data must be escaped before forming the URI. Reserved according to RFC-2396 are ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ",".
Instances created by FirstSpirit are
initialized once before any other usage.
 Implementations should be thread safe. This is best achieved by avoiding local state despite state derived from
initialization.- Since:
- 5.0.5
- See Also:
- 
Method SummaryModifier and TypeMethodDescription@NotNull StringgetUrl(@NotNull ContentProducer node, @NotNull TemplateSet templateSet, @NotNull Language language, @NotNull PageParams pageParams) Calculate path to provided combination of node, template set, language, and page params.@NotNull StringgetUrl(@NotNull Media node, @NotNull Language language, @Nullable Resolution resolution) Calculate path to provided combination of node, language, and resolution.default voidinit(@NotNull Map<String, String> settings, @NotNull PathLookup pathLookup) Initialization method.default voidsetUp(@NotNull UrlFactoryContext context) Configures the context in which theUrlFactoryis operating.default booleanIndicates if the factory supports queries for remote URLs.
- 
Method Details- 
initdefault void init(@NotNull @NotNull Map<String, String> settings, @NotNull @NotNull PathLookup pathLookup) Initialization method. When calculating paths by traversing the parent chain of the provided node you should consult the providedpathLookupfor user defined paths.Implementers note: 
 This method will only get called by the default implementation ofsetUp(UrlFactoryContext). You must override thesetUp-Methodif you don't want this to happen for your implementation.
 The default implementation of this method is just a stub and therefor does nothing.- Parameters:
- settings- Settings provided in module.xml file in section- <configuration>..</configuration>. The key is the tag name (converted to lower case), value is the text child node. E.g.- <key>value</key>.
- pathLookup- Path lookup for user defined paths.
- Since:
- 5.0.5
 
- 
setUpConfigures the context in which theUrlFactoryis operating. If the instance is created by FirstSpirit, this method is called once before any other usage.For compatibility reasons the default implementation delegates to init(Map, PathLookup).Implementers note: 
 It is not necessary to call the default implementation.- Parameters:
- context- The context for this- UrlFactory.
- Since:
- 5.2.190300
 
- 
getUrl@NotNull @NotNull String getUrl(@NotNull @NotNull ContentProducer node, @NotNull @NotNull TemplateSet templateSet, @NotNull @NotNull Language language, @NotNull @NotNull PageParams pageParams) Calculate path to provided combination of node, template set, language, and page params. The constructed url should start with a slash.
 If the data for a URI component would conflict with the reserved purpose, then the conflicting data must be escaped before forming the URI. Reserved according to RFC-2396 are ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ",".- Parameters:
- node- target node.
- templateSet- target template set.
- language- target language.
- pageParams- the page params.
- Returns:
- the complete path including extension.
- Since:
- 5.0.5
 
- 
getUrl@NotNull @NotNull String getUrl(@NotNull @NotNull Media node, @NotNull @NotNull Language language, @Nullable @Nullable Resolution resolution) Calculate path to provided combination of node, language, and resolution. The constructed url should start with a slash.
 If the data for a URI component would conflict with the reserved purpose, then the conflicting data must be escaped before forming the URI. Reserved according to RFC-2396 are ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ",".- Parameters:
- node- Target node.
- language- Target language.
- resolution- Target resolution or- nullfor media nodes of type- Media.FILE.
- Returns:
- The complete path including extension.
- Since:
- 5.0.5
 
- 
supportsRemotedefault boolean supportsRemote()Indicates if the factory supports queries for remote URLs.- Returns:
- trueif the factory can be queried for remote URLs,- false otherwise.
- Since:
- 5.2.250602
 
 
-