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 java.util.List;
20
21 import javax.annotation.Nonnull;
22 import javax.annotation.concurrent.Immutable;
23
24 import com.helger.commons.ValueEnforcer;
25 import com.helger.commons.annotation.ReturnsMutableCopy;
26 import com.helger.commons.collection.CollectionHelper;
27 import com.helger.commons.string.ToStringGenerator;
28 import com.helger.schematron.pure.model.PSPattern;
29
30
31
32
33
34
35 @Immutable
36 public class PSXPathBoundPattern
37 {
38 private final PSPattern m_aPattern;
39 private final List <PSXPathBoundRule> m_aBoundRules;
40
41 public PSXPathBoundPattern (@Nonnull final PSPattern aPattern, @Nonnull final List <PSXPathBoundRule> aBoundRules)
42 {
43 ValueEnforcer.notNull (aPattern, "Pattern");
44 ValueEnforcer.notNull (aBoundRules, "BoundRules");
45 m_aPattern = aPattern;
46 m_aBoundRules = aBoundRules;
47 }
48
49 @Nonnull
50 public PSPattern getPattern ()
51 {
52 return m_aPattern;
53 }
54
55 @Nonnull
56 @ReturnsMutableCopy
57 public List <PSXPathBoundRule> getAllBoundRules ()
58 {
59 return CollectionHelper.newList (m_aBoundRules);
60 }
61
62 @Override
63 public String toString ()
64 {
65 return new ToStringGenerator (this).append ("pattern", m_aPattern).append ("boundRules", m_aBoundRules).toString ();
66 }
67 }