1 16 package org.outerj.daisy.publisher.serverimpl.requestmodel; 17 18 import org.outerj.daisy.publisher.serverimpl.PublisherImpl; 19 import org.xml.sax.ContentHandler ; 20 import org.xml.sax.helpers.AttributesImpl ; 21 22 import java.util.Locale ; 23 24 public class PublisherRequest extends AbstractParentPublisherRequest implements Request { 25 private final Locale locale; 26 private final String styleHint; 27 private final boolean inlineExceptions; 28 private final PublisherVersionMode versionMode; 29 30 36 public PublisherRequest(Locale locale, String styleHint, boolean inlineExceptions, PublisherVersionMode versionMode) { 37 this.locale = locale; 38 this.styleHint = styleHint; 39 this.inlineExceptions = inlineExceptions; 40 this.versionMode = versionMode; 41 } 42 43 public void process(ContentHandler contentHandler, PublisherContext publisherContext) throws Exception { 44 contentHandler.startDocument(); 45 contentHandler.startPrefixMapping("p", PublisherImpl.NAMESPACE); 46 AttributesImpl attrs = new AttributesImpl (); 47 if (styleHint != null) 48 attrs.addAttribute("", "styleHint", "styleHint", "CDATA", styleHint); 49 contentHandler.startElement(PublisherImpl.NAMESPACE, "publisherResponse", "p:publisherResponse", attrs); 50 51 PublisherContextImpl childPublisherContext = new PublisherContextImpl(publisherContext); 52 if (locale != null) 53 childPublisherContext.setLocale(locale); 54 if (versionMode != null) 55 childPublisherContext.setVersionMode(versionMode); 56 super.process(contentHandler, childPublisherContext); 57 58 contentHandler.endElement(PublisherImpl.NAMESPACE, "publisherResponse", "p:publisherResponse"); 59 contentHandler.endPrefixMapping("p"); 60 contentHandler.endDocument(); 61 } 62 63 public boolean getInlineExceptions() { 64 return inlineExceptions; 65 } 66 } 67 | Popular Tags |