| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| MasterRecordImpl |
|
| 0.0;0 |
| 1 | package org.naftulin.configmgr.content; | |
| 2 | ||
| 3 | import java.util.Collections; | |
| 4 | import java.util.LinkedList; | |
| 5 | import java.util.List; | |
| 6 | ||
| 7 | import org.naftulin.configmgr.parsers.ConfigEntryParser; | |
| 8 | import org.naftulin.configmgr.parsers.MasterRecordParser; | |
| 9 | import org.apache.commons.lang.builder.ToStringBuilder; | |
| 10 | ||
| 11 | /** | |
| 12 | * Parses config.xml file: properties file, log4j xml or log4j properties. | |
| 13 | * Once a master record is created, parsers are called for each of the entries | |
| 14 | * to be parsed and stored in config manager. Entry is similar to config manager | |
| 15 | * entry, yet there is no content (since the entry was not parsed yet). | |
| 16 | * | |
| 17 | * @author Henry Naftulin | |
| 18 | * @since 1.0 | |
| 19 | */ | |
| 20 | 5 | public class MasterRecordImpl extends AbstractRecordImpl { |
| 21 | 5 | private static final ConfigEntryParser PARSER = new MasterRecordParser(); |
| 22 | 130 | private boolean jmx = true; |
| 23 | 130 | private final List<AbstractRecordImpl> records = new LinkedList<AbstractRecordImpl>(); |
| 24 | ||
| 25 | /** | |
| 26 | * Constructs a record without specifying the key or file name. | |
| 27 | */ | |
| 28 | public MasterRecordImpl() { | |
| 29 | 125 | super(); |
| 30 | 125 | } |
| 31 | ||
| 32 | /** | |
| 33 | * Constructs a record with the key and file name specified. | |
| 34 | * @param key the key associated with the record. | |
| 35 | * @param fileName the file name associated with the record. | |
| 36 | */ | |
| 37 | public MasterRecordImpl(final String key, final String fileName) { | |
| 38 | 5 | super(key, fileName); |
| 39 | 5 | } |
| 40 | ||
| 41 | /** | |
| 42 | * Returns Jmx setting for configuration manager. By defaul the jmx | |
| 43 | * setting is true, which means that configuration manager will try to | |
| 44 | * connect to JMX MBean server. | |
| 45 | * @return returns Jmx setting for configuration manager. | |
| 46 | */ | |
| 47 | public boolean isJmx() { | |
| 48 | 165 | return jmx; |
| 49 | } | |
| 50 | ||
| 51 | /** | |
| 52 | * Sets Jmx setting for configuration manager. When Jmx | |
| 53 | * setting equals true, configuration manager will try to | |
| 54 | * connect to JMX MBean server. | |
| 55 | * @param jmx jmx setting | |
| 56 | */ | |
| 57 | public void setJmx(boolean jmx) { | |
| 58 | 85 | this.jmx = jmx; |
| 59 | 85 | } |
| 60 | ||
| 61 | /** | |
| 62 | * Adds a record to the list of records to be processed. Mirrors the | |
| 63 | * master file which consists of configuration records. | |
| 64 | * @param record the record to be processed, read from the master configuration file | |
| 65 | */ | |
| 66 | public void addRecord(final AbstractRecordImpl record) { | |
| 67 | 330 | records.add(record); |
| 68 | 330 | } |
| 69 | ||
| 70 | /** | |
| 71 | * Returns the unmodifiable list of {@link AbstractRecordImpl records} from the cofiguration file. | |
| 72 | * @return a list of {@link AbstractRecordImpl records} from the cofiguration file. | |
| 73 | */ | |
| 74 | public List<AbstractRecordImpl> getRecords() { | |
| 75 | 140 | return Collections.unmodifiableList(records); |
| 76 | } | |
| 77 | ||
| 78 | /** | |
| 79 | * Returns master record parser. The master record is | |
| 80 | * processed by configuration manager with a special parser; and is | |
| 81 | * not re-parsed when transofrmed to configuration manager entry. | |
| 82 | * @return Returns master record parser. | |
| 83 | */ | |
| 84 | public ConfigEntryParser getParser() { | |
| 85 | 170 | return PARSER; |
| 86 | } | |
| 87 | ||
| 88 | /** | |
| 89 | * Returns the string representation of the master record. | |
| 90 | * @return the string representation of the master record. | |
| 91 | */ | |
| 92 | public String toString() { | |
| 93 | 170 | return new ToStringBuilder(this) |
| 94 | 85 | .append("key", this.getKey()) |
| 95 | 85 | .append("jmx", this.isJmx()) |
| 96 | 85 | .append("parser", this.getParser()) |
| 97 | 85 | .append("fileName",this.getFileName()) |
| 98 | 85 | .append("records", this.records).toString(); |
| 99 | } | |
| 100 | ||
| 101 | } |