01: package org.andromda.core.configuration;
02:
03: import java.io.Serializable;
04:
05: import org.apache.commons.lang.StringUtils;
06: import org.apache.commons.lang.builder.ToStringBuilder;
07:
08: /**
09: * This class represents properties which are used to configure Namespace objects which are made available to configure
10: * Plugin instances.
11: *
12: * @author Chad Brandon
13: * @see org.andromda.core.configuration.Namespace
14: * @see org.andromda.core.configuration.Namespaces
15: */
16: public class Property implements Serializable {
17: /**
18: * The property name.
19: */
20: private String name;
21:
22: /**
23: * Returns the name. This is used by Namespaces to find this property.
24: *
25: * @return String
26: */
27: public String getName() {
28: return name;
29: }
30:
31: /**
32: * Sets the name.
33: *
34: * @param name The name to set
35: */
36: public void setName(final String name) {
37: this .name = StringUtils.trimToEmpty(name);
38: }
39:
40: /**
41: * The property value.
42: */
43: private String value;
44:
45: /**
46: * Returns the value. This is the value that is stored in this property.
47: *
48: * @return the value as a String
49: */
50: public String getValue() {
51: return value;
52: }
53:
54: /**
55: * Sets the value.
56: *
57: * @param value The value to set
58: */
59: public void setValue(final String value) {
60: this .value = StringUtils.trimToEmpty(value);
61: }
62:
63: /**
64: * Stores whether or not this property should be ignored.
65: */
66: private boolean ignore = false;
67:
68: /**
69: * If a property is set to ignore then Namespaces will ignore it if it doesn't exist on lookup (otherwise errors
70: * messages are output). This is useful if you have a plugin on a classpath (its unavoidable), but you don't want to
71: * see the errors messages (since it really isn't an error). Another use of it would be to ignore outlet entires for
72: * cartridges if you wanted to generate some from the cartridge outlets, but not others.
73: *
74: * @return Returns the ignore value true/false.
75: */
76: public boolean isIgnore() {
77: return ignore;
78: }
79:
80: /**
81: * @param ignore The ignore to set.
82: * @see #isIgnore()
83: */
84: public void setIgnore(final boolean ignore) {
85: this .ignore = ignore;
86: }
87:
88: /**
89: * @see java.lang.Object#toString()
90: */
91: public String toString() {
92: return ToStringBuilder.reflectionToString(this);
93: }
94: }
|