View Javadoc

1   package ca.uhn.hl7v2.validation.impl;
2   
3   /**
4    * <p>
5    * Validation Rule which will not accept any content (i.e. length must be 0).
6    * </p>
7    * <p>
8    * This class is expected to be used for withdrawn fields/components, and will
9    * provide a failure description indicating that the type is withdrawn.
10   * </p>
11   * <p>
12   * If you wish to disable this rule globally, invoke the following code:
13   * </p>
14   * <code>System.setProperty(ca.uhn.hl7v2.validation.impl.WithdrawnDatatypeRule.PROP_DISABLE_RULE, "true");</code>
15   * </p> Note that this property is only checked the first time the class is
16   * loaded (i.e. not at runtime). To disable for an individual parser at runtime,
17   * call </p> <code>parser.setValidationContext(new NoValidation());</code>
18   * 
19   * @deprecated use {@link ca.uhn.hl7v2.validation.builder.BuilderSupport#withdrawn()} instead
20   */
21  @SuppressWarnings("serial")
22  public class WithdrawnDatatypeRule extends SizeRule {
23  
24  	/**
25  	 * Set the value of a system property to "true" to disable this rule
26  	 * globally.
27  	 */
28  	public static final String PROP_DISABLE_RULE = "ca.uhn.hl7v2.validation.impl.WithdrawnDatatypeRule";
29  
30  	private static final int RULE_SIZE;
31  
32  	static {
33  		if (Boolean.getBoolean(PROP_DISABLE_RULE)) {
34  			RULE_SIZE = Integer.MAX_VALUE;
35  		} else {
36  			RULE_SIZE = 0;
37  		}
38  	}
39  
40  	/**
41  	 * Constructor
42  	 */
43  	public WithdrawnDatatypeRule() {
44  		super(RULE_SIZE);
45  	}
46  
47  	/**
48  	 * {@inheritDoc}
49  	 */
50  	public String getDescription() {
51  		return "The field/component is withdrawn from the current HL7 version and should not be used. See the JavaDoc for WithdrawnDatatypeRule for information on disabling this rule.";
52  	}
53  
54  }