+ private String key;
+
+ public MediaGeneratingProducerNodeBuilder() {
+ super(MEDIA_SUBNODES);
+ }
+
+ public void setAttributes(Map anAttributes) throws ProducerConfigExc, XMLParserExc {
+ XMLReaderTool.checkAttributes(anAttributes, MEDIA_REQUIRED_ATTRIBUTES, MEDIA_OPTIONAL_ATTRIBUTES);
+
+ key = (String) anAttributes.get(MEDIA_KEY_ATTRIBUTE);
+ };
+
+ public ProducerNode constructNode() {
+ return new MediaGeneratingProducerNode(key);
+ };
+ }
+
+ public static class PDFPreFormattingProducerNodeBuilder extends DefaultProducerNodeBuilders.AbstractProducerNodeBuilder {
+ private final static String MARKER_KEY_ATTRIBUTE = DefaultProducerNodeBuilders.KEY_ATTRIBUTE;
+ private final static String PDF_NUM_LINES_ATTRIBUTE = "numLinesBetweenImages";
+ private final static String PDF_CONTENT_WIDTH_ATTRIBUTE = "contentAreaWidthCM";
+ private final static String PDF_CHAR_WIDTH_ATTRIBUTE = "charWidthCM";
+ private final static String PDF_PIXEL_WIDTH_ATTRIBUTE = "pixelWidthCM";
+ private final static String PDF_LINE_HEIGHT_ATTRIBUTE = "lineHeightCM";
+ private final static String[] MARKER_REQUIRED_ATTRIBUTES = { MARKER_KEY_ATTRIBUTE, PDF_NUM_LINES_ATTRIBUTE, PDF_CONTENT_WIDTH_ATTRIBUTE,PDF_CHAR_WIDTH_ATTRIBUTE,PDF_PIXEL_WIDTH_ATTRIBUTE,PDF_LINE_HEIGHT_ATTRIBUTE };
+ private final static String[] MARKER_OPTIONAL_ATTRIBUTES = {};
+ private final static String[] MARKER_SUBNODES = {};
+
+ private String key;
+ private String numLinesBetweenImages;
+ private String contentAreaWidthCM;
+ private String characterWidthCM;
+ private String pixelWidthCM;
+ private String lineHeightCM;
+
+ public PDFPreFormattingProducerNodeBuilder() {
+ super(MARKER_SUBNODES);
+ }
+
+ public void setAttributes(Map anAttributes) throws ProducerConfigExc, XMLParserExc {
+ XMLReaderTool.checkAttributes(anAttributes, MARKER_REQUIRED_ATTRIBUTES, MARKER_OPTIONAL_ATTRIBUTES);
+
+ key = (String) anAttributes.get(MARKER_KEY_ATTRIBUTE);
+ numLinesBetweenImages = (String) anAttributes.get(PDF_NUM_LINES_ATTRIBUTE);
+ contentAreaWidthCM = (String) anAttributes.get(PDF_CONTENT_WIDTH_ATTRIBUTE);
+ characterWidthCM = (String) anAttributes.get(PDF_CHAR_WIDTH_ATTRIBUTE);
+ pixelWidthCM = (String) anAttributes.get(PDF_PIXEL_WIDTH_ATTRIBUTE);
+ lineHeightCM = (String) anAttributes.get(PDF_LINE_HEIGHT_ATTRIBUTE);
+
+
+ };
+
+ public ProducerNode constructNode() {
+ return new PDFPreFormattingProducerNode(key,numLinesBetweenImages,contentAreaWidthCM,characterWidthCM,pixelWidthCM,lineHeightCM);
+ };
+ }
+
+ public static class PDFGeneratingProducerNodeBuilder extends DefaultProducerNodeBuilders.AbstractProducerNodeBuilder {
+ private final static String PDF_GENERATOR_ATTRIBUTE = "generator";
+ private final static String PDF_DESTINATION_ATTRIBUTE = "destination";
+ private final static String PDF_STYLESHEET_ATTRIBUTE = "stylesheet";
+ private final static String[] MARKER_REQUIRED_ATTRIBUTES = {PDF_GENERATOR_ATTRIBUTE,PDF_DESTINATION_ATTRIBUTE,PDF_STYLESHEET_ATTRIBUTE };
+ private final static String[] MARKER_OPTIONAL_ATTRIBUTES = {};
+ private final static String[] MARKER_SUBNODES = {};
+
+ private String generator;
+ private String destination;
+ private String stylesheet;
+
+
+ public PDFGeneratingProducerNodeBuilder() {
+ super(MARKER_SUBNODES);
+ }
+
+ public void setAttributes(Map anAttributes) throws ProducerConfigExc, XMLParserExc {
+ XMLReaderTool.checkAttributes(anAttributes, MARKER_REQUIRED_ATTRIBUTES, MARKER_OPTIONAL_ATTRIBUTES);
+
+ generator = (String) anAttributes.get(PDF_GENERATOR_ATTRIBUTE);
+ destination = (String) anAttributes.get(PDF_DESTINATION_ATTRIBUTE);
+ stylesheet = (String) anAttributes.get(PDF_STYLESHEET_ATTRIBUTE);
+ };
+
+ public ProducerNode constructNode() {
+ return new PDFGeneratingProducerNode(generator,destination,stylesheet);
+ };
+ }
+
+ public static class RadicalendarProducerNodeBuilder extends DefaultProducerNodeBuilders.AbstractProducerNodeBuilder {
+ private final static String RC_KEY_ATTRIBUTE = "key";
+ private final static String RC_GROUPNAME_ATTRIBUTE = "groupname";
+ private final static String RC_GMTOFFSET_ATTRIBUTE = "gmtoffset";
+ private final static String[] RC_REQUIRED_ATTRIBUTES = {RC_KEY_ATTRIBUTE,RC_GROUPNAME_ATTRIBUTE,RC_GMTOFFSET_ATTRIBUTE};
+ private final static String[] RC_OPTIONAL_ATTRIBUTES = {};
+ private final static String[] RC_SUBNODES = {};
+ private String key;
+ private String groupname;
+ private String gmtoffset;
+
+ public RadicalendarProducerNodeBuilder() {
+ super(RC_SUBNODES);
+ }
+
+ public void setAttributes(Map anAttributes) throws ProducerConfigExc, XMLParserExc {
+ XMLReaderTool.checkAttributes(anAttributes, RC_REQUIRED_ATTRIBUTES, RC_OPTIONAL_ATTRIBUTES);
+
+ key = (String) anAttributes.get(RC_KEY_ATTRIBUTE);
+ groupname = (String) anAttributes.get(RC_GROUPNAME_ATTRIBUTE);
+ gmtoffset = (String) anAttributes.get(RC_GMTOFFSET_ATTRIBUTE);
+ }
+
+ public ProducerNode constructNode() {
+ return new RadicalendarProducerNode(key,groupname,gmtoffset);
+ }
+
+ }
+
+
+ /**
+ * Builder for {@link mircoders.producer.ChangedFilesReportingProducerNode}
+ * nodes.
+ */