1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.helger.schematron.pure.bound.xpath;
18
19 import javax.annotation.Nonnull;
20 import javax.annotation.concurrent.Immutable;
21
22 import com.helger.commons.ValueEnforcer;
23 import com.helger.commons.annotation.ReturnsMutableCopy;
24 import com.helger.commons.collection.ext.ICommonsList;
25 import com.helger.commons.string.ToStringGenerator;
26 import com.helger.schematron.pure.model.PSPattern;
27
28
29
30
31
32
33 @Immutable
34 public class PSXPathBoundPattern
35 {
36 private final PSPattern m_aPattern;
37 private final ICommonsList <PSXPathBoundRule> m_aBoundRules;
38
39 public PSXPathBoundPattern (@Nonnull final PSPattern aPattern,
40 @Nonnull final ICommonsList <PSXPathBoundRule> aBoundRules)
41 {
42 ValueEnforcer.notNull (aPattern, "Pattern");
43 ValueEnforcer.notNull (aBoundRules, "BoundRules");
44 m_aPattern = aPattern;
45 m_aBoundRules = aBoundRules;
46 }
47
48 @Nonnull
49 public PSPattern getPattern ()
50 {
51 return m_aPattern;
52 }
53
54 @Nonnull
55 @ReturnsMutableCopy
56 public ICommonsList <PSXPathBoundRule> getAllBoundRules ()
57 {
58 return m_aBoundRules.getClone ();
59 }
60
61 @Override
62 public String toString ()
63 {
64 return new ToStringGenerator (this).append ("pattern", m_aPattern)
65 .append ("boundRules", m_aBoundRules)
66 .getToString ();
67 }
68 }