nz.net.ultraq.thymeleaf.context.ContextCreationProcessor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of thymeleaf-layout-dialect Show documentation
Show all versions of thymeleaf-layout-dialect Show documentation
Thymeleaf Layout Dialect rewritten in java.
/*
* Copyright 2016, Emanuel Rabina (http://www.ultraq.net.nz/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package nz.net.ultraq.thymeleaf.context;
import org.thymeleaf.context.IEngineContext;
import org.thymeleaf.context.ITemplateContext;
import org.thymeleaf.model.ITemplateEnd;
import org.thymeleaf.model.ITemplateStart;
import org.thymeleaf.processor.templateboundaries.AbstractTemplateBoundariesProcessor;
import org.thymeleaf.processor.templateboundaries.ITemplateBoundariesStructureHandler;
import org.thymeleaf.templatemode.TemplateMode;
/**
* A processor whose only job is to initialize the layout context.
*
* @author Emanuel Rabina
*/
public class ContextCreationProcessor extends AbstractTemplateBoundariesProcessor {
public static final int PROCESSOR_PRECEDENCE = 10;
/**
* Constructor, sets the template mode of the processor.
*
* @param templateMode
*/
public ContextCreationProcessor(TemplateMode templateMode) {
super(templateMode, PROCESSOR_PRECEDENCE);
}
/**
* Creates and sets the layout context on the template context so it's
* available everywhere else on the template.
*
* @param context
* @param templateStart
* @param structureHandler
*/
@Override
public void doProcessTemplateStart(ITemplateContext context, ITemplateStart templateStart,
ITemplateBoundariesStructureHandler structureHandler) {
((IEngineContext) context).setVariable(LayoutContext.CONTEXT_KEY, new LayoutContext());
}
/**
* Does nothing.
*
* @param context
* @param templateEnd
* @param structureHandler
*/
@Override
public void doProcessTemplateEnd(ITemplateContext context, ITemplateEnd templateEnd,
ITemplateBoundariesStructureHandler structureHandler) {
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy