/* * Copyright (c) 2011-2014 Fernando Petrola * * 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 com.dragome.render; import java.util.Arrays; import java.util.List; import com.dragome.render.interfaces.ItemProcessor; import com.dragome.templates.interfaces.Template; public abstract class ItemProcessorImpl<T> implements ItemProcessor<T> { private String repeatName; private String insertionPointName; private String iteratorName; protected Template template; public ItemProcessorImpl(Template template, String repeatName, String insertionPointName, String iteratorName) { this.template= template; this.repeatName= repeatName; this.insertionPointName= insertionPointName; this.iteratorName= iteratorName; } public ItemProcessorImpl(Template template, String repeatName, String insertionPointName) { this(template, repeatName, insertionPointName, "iterator:" + System.currentTimeMillis()); } public ItemProcessorImpl(Template template, String repeatName) { this(template, repeatName, repeatName); } public String getRepeatTemplateName(T item) { return repeatName; } public String getInsertionPointName(T item) { return insertionPointName; } public String getIteratorName() { return iteratorName; } public Template getInsertTemplate(T item) { return template.getChild(getInsertionPointName(item)); } public List<Template> getRepeatTemplates(T item) { return Arrays.asList(template.getChild(getRepeatTemplateName(item))); } public void fillTemplate(T item, Template aTemplate) { } public void fillTemplates(T item, List<Template> aTemplate) { } }