1 package mircoders.producer.reader;
5 import mir.producer.reader.*;
7 import mir.entity.adapter.*;
8 import mir.generator.*;
9 import mircoders.producer.*;
11 public class SupplementalProducerNodeBuilders {
13 public static void registerBuilders(ProducerNodeBuilderLibrary aBuilderLibrary, EntityAdapterModel aModel) {
14 aBuilderLibrary.registerBuilder("ModifyContent", ContentModifyingProducerNodeBuilder.class);
15 aBuilderLibrary.registerBuilder("MarkContent", ContentMartkingProducerNodeBuilder.class);
18 public static class ContentMartkingProducerNodeBuilder extends DefaultProducerNodeBuilders.AbstractProducerNodeBuilder {
19 private final static String MARKER_KEY_ATTRIBUTE = DefaultProducerNodeBuilders.KEY_ATTRIBUTE;
20 private final static String[] MARKER_REQUIRED_ATTRIBUTES = { MARKER_KEY_ATTRIBUTE };
21 private final static String[] MARKER_OPTIONAL_ATTRIBUTES = {};
22 private final static String[] MARKER_SUBNODES = {};
26 public ContentMartkingProducerNodeBuilder() {
27 super(MARKER_SUBNODES);
30 public void setAttributes(Map anAttributes) throws ProducerConfigExc {
31 ReaderTool.checkAttributes(anAttributes, MARKER_REQUIRED_ATTRIBUTES, MARKER_OPTIONAL_ATTRIBUTES);
33 key = (String) anAttributes.get(MARKER_KEY_ATTRIBUTE);
36 public ProducerNode constructNode() {
37 return new ContentMarkingProducerNode(key);
42 public static class ContentModifyingProducerNodeBuilder extends DefaultProducerNodeBuilders.AbstractProducerNodeBuilder {
43 private final static String MODIFYER_KEY_ATTRIBUTE = DefaultProducerNodeBuilders.KEY_ATTRIBUTE;
44 private final static String MODIFYER_FIELD_ATTRIBUTE = "field";
45 private final static String MODIFYER_VALUE_ATTRIBUTE = "value";
46 private final static String[] MODIFYER_REQUIRED_ATTRIBUTES = { MODIFYER_KEY_ATTRIBUTE, MODIFYER_FIELD_ATTRIBUTE, MODIFYER_VALUE_ATTRIBUTE };
47 private final static String[] MODIFYER_OPTIONAL_ATTRIBUTES = {};
48 private final static String[] MODIFYER_SUBNODES = {};
54 public ContentModifyingProducerNodeBuilder() {
55 super(MODIFYER_SUBNODES);
58 public void setAttributes(Map anAttributes) throws ProducerConfigExc {
59 ReaderTool.checkAttributes(anAttributes, MODIFYER_REQUIRED_ATTRIBUTES, MODIFYER_OPTIONAL_ATTRIBUTES);
61 key = (String) anAttributes.get(MODIFYER_KEY_ATTRIBUTE);
62 field = (String) anAttributes.get(MODIFYER_FIELD_ATTRIBUTE);
63 value = (String) anAttributes.get(MODIFYER_VALUE_ATTRIBUTE);
66 public ProducerNode constructNode() {
67 return new ContentModifyingProducerNode(key, field, value);