Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Creative commons Attribution-NonCommercial license. http://creativecommons.org/licenses/by-nc/2.5/au/deed.en_GB NO WARRANTY IS GIVEN OR IMPLIED, USE AT YOUR OWN RISK.
  
  package base.template;
  
 import java.util.List;
 import java.util.Map;
 
 import base.KeyValue;
A collection of templates available for usage within a web site.
 
 public class TemplateManager {
 
 	private API api;
 	private Map<StringTemplatetemplates = new Hashtable<>();
 	private List<TemplatetemplateList = new LinkedList<>();
 
 	@SuppressWarnings("unchecked")
 	public TemplateManager(API apiCollection<ResourcedefaultTemplateResourcesthrows IOException {
 		this. = api;
 
 		// Load default template
 		 = new Template("default");
 		for(Resource r : defaultTemplateResources) {
 		}
 
 		// Load any custom templates based from the default template
 		List<KeyValueitems = api.getTemplates(null);
 		for(KeyValue item : items) {
 			Template template = new CustomTemplate(apiitem.getKey(), );
 			List<Resourcec = api.getTemplateResources(item.getKey());
 			for(Resource i : c) {
 				template.defineResource(i.getName(), i.getData(), i.isBinary());
 			}
 			.add(template);
 			.put(item.getKey(), template);
 		}
 
 		// Read the settings table to check which template we should be defaulting to
 		if(api.getSettingsCache().get("site.template"null) == null) {
 			api.getSettingsCache().set("site.template""default");
 		}
 		if(.containsKey(api.getSettingsCache().get("site.template""default"))) {
 			 = .get(api.getSettingsCache().get("site.template""default"));
 		}
 	}
 
 	public List<TemplategetTemplates() {
 		return ;
 	}
 
 	public synchronized Template createTemplateBasedOn(String basedOnString nameUser userthrows IOException {
 		if(!.containsKey(basedOn)) {
 			throw new IllegalArgumentException("No such template name: " + basedOn);
 		}
 		if(.containsKey(name)) {
 			throw new IllegalArgumentException("Template with this name already exists: " + basedOn);
 		}
 
 		.createTemplate(userbasedOnname);
 
 		Template template = new CustomTemplate(name);
 		.add(template);
 		.put(nametemplate);
 		return template;
 	}
 
 	public Template getTemplate(String name) {
 		return .get(name);
 	}
 
 		return ;
 	}
 
 	public synchronized void switchTemplate(String newTemplatethrows IOException {
 		if(.containsKey(newTemplate)) {
 			.getSettingsCache().set("site.template"newTemplate);
 			 = .get(newTemplate);
 		} else {
 			throw new IllegalArgumentException("Please select a valid template.");
		}
	}
	public synchronized void deleteTemplate(String nameUser userthrows IOException {
			Template t = .get(name);
			.deleteTemplate(username);
else {
			throw new IllegalArgumentException("Please select a valid template.");
		}
	}
New to GrepCode? Check out our FAQ X