1 /*
2 JavaProgrammingLanguageContext.java
3 Creation date : 28/08/2010
4 Copyright © Benjamin Croizet (graffity2199@yahoo.fr)
5
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 or GNU Lesser General Public License as published by the
9 Free Software Foundation; either version 3 of the License,
10 or (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received copies of the GNU General Public License
18 and GNU Lesser General Public License along with this program;
19 if not, write to the Free Software Foundation, Inc.,
20 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 http://www.fsf.org/licensing/licenses/gpl.html
22 http://www.gnu.org/licenses/lgpl.html
23 */
24
25 package net.sourceforge.plantumldependency.cli.main.option.programminglanguage.context.impl;
26
27 import java.util.Set;
28 import java.util.TreeSet;
29 import java.util.regex.Pattern;
30
31 import net.sourceforge.plantumldependency.cli.generic.GenericDependency;
32 import net.sourceforge.plantumldependency.cli.main.option.display.type.argument.DisplayType;
33 import net.sourceforge.plantumldependency.cli.main.option.programminglanguage.context.AbstractProgrammingLanguageContext;
34
35 /**
36 * The java
37 * {@link net.sourceforge.plantumldependency.cli.main.option.programminglanguage.context.ProgrammingLanguageContext}
38 * implementation.
39 *
40 * @author Benjamin Croizet (<a href="mailto:graffity2199@yahoo.fr>graffity2199@yahoo.fr</a>)
41 * @since 1.0.0
42 * @version 1.4.0
43 */
44 public class JavaProgrammingLanguageContext extends AbstractProgrammingLanguageContext {
45
46 /** Serial version UID. */
47 private static final long serialVersionUID = 4151258525377938109L;
48
49 /**
50 * Default constructor.
51 *
52 * @since 1.0.0
53 */
54 public JavaProgrammingLanguageContext() {
55 super();
56 }
57
58 /**
59 * Medium constructor.
60 *
61 * @param displayTypesOpts
62 * the {@link Set} of display types options which filter type to appear in the
63 * plantUML description, mustn't be <code>null</code>.
64 * @param displayPackageNamePatternOpt
65 * the {@link Pattern} which filter package name to appear in the plantUML
66 * description, mustn't be <code>null</code>.
67 * @param displayNamePatternOpt
68 * the {@link Pattern} which filter name to appear in the plantUML description,
69 * mustn't be <code>null</code>.
70 * @since 1.0.0
71 */
72 public JavaProgrammingLanguageContext(final Set < DisplayType > displayTypesOpts,
73 final Pattern displayPackageNamePatternOpt, final Pattern displayNamePatternOpt) {
74 super(displayTypesOpts, displayPackageNamePatternOpt, displayNamePatternOpt);
75 }
76
77 /**
78 * Medium constructor.
79 *
80 * @param parsedAndSeenDependencies
81 * the original {@link Set} of {@link GenericDependency} which have been seen (as
82 * import for instance) and parsed to put in the context, mustn't be
83 * <code>null</code>.
84 * @param displayTypesOpts
85 * the {@link Set} of display types options which filter type to appear in the
86 * plantUML description, mustn't be <code>null</code>.
87 * @param displayPackageNamePatternOpt
88 * the {@link Pattern} which filter package name to appear in the plantUML
89 * description, mustn't be <code>null</code>.
90 * @param displayNamePatternOpt
91 * the {@link Pattern} which filter name to appear in the plantUML description,
92 * mustn't be <code>null</code>.
93 * @since 1.0.0
94 */
95 public JavaProgrammingLanguageContext(final Set < GenericDependency > parsedAndSeenDependencies,
96 final Set < DisplayType > displayTypesOpts, final Pattern displayPackageNamePatternOpt,
97 final Pattern displayNamePatternOpt) {
98 super(parsedAndSeenDependencies, displayTypesOpts, displayPackageNamePatternOpt, displayNamePatternOpt);
99 }
100
101 /**
102 * Full constructor.
103 *
104 * @param parsedAndSeenDependencies
105 * the original {@link Set} of {@link GenericDependency} which have been seen (as
106 * import for instance) and parsed to put in the context, mustn't be
107 * <code>null</code>.
108 * @param parsedDependencies
109 * the original {@link Set} of {@link GenericDependency} which have been parsed to
110 * put in the context, mustn't be <code>null</code>.
111 * @param displayTypesOpts
112 * the {@link Set} of display types options which filter type to appear in the
113 * plantUML description, mustn't be <code>null</code>.
114 * @param displayPackageNamePatternOpt
115 * the {@link Pattern} which filter package name to appear in the plantUML
116 * description, mustn't be <code>null</code>.
117 * @param displayNamePatternOpt
118 * the {@link Pattern} which filter name to appear in the plantUML description,
119 * mustn't be <code>null</code>.
120 * @since 1.0.0
121 */
122 public JavaProgrammingLanguageContext(final Set < GenericDependency > parsedAndSeenDependencies,
123 final Set < GenericDependency > parsedDependencies, final Set < DisplayType > displayTypesOpts,
124 final Pattern displayPackageNamePatternOpt, final Pattern displayNamePatternOpt) {
125 super(parsedAndSeenDependencies, parsedDependencies, new TreeSet < GenericDependency >(), displayTypesOpts,
126 displayPackageNamePatternOpt, displayNamePatternOpt);
127 }
128
129 /**
130 * Full constructor.
131 *
132 * @param parsedAndSeenDependencies
133 * the original parsed and seen dependencies {@link Set} of {@link GenericDependency}
134 * to put in the context, mustn't be <code>null</code>.
135 * @param parsedDependencies
136 * the original parsed dependencies {@link Set} of {@link GenericDependency} to put
137 * in the context, mustn't be <code>null</code>.
138 * @param potentialJavaLangSeenDependencies
139 * the original potential "java.lang" seen dependencies {@link Set} of
140 * {@link GenericDependency} to put in the context, mustn't be <code>null</code>.
141 * @param displayTypesOpts
142 * the {@link Set} of display types options which filter type to appear in the
143 * plantUML description, mustn't be <code>null</code>.
144 * @param displayPackageNamePatternOpt
145 * the {@link Pattern} which filter package name to appear in the plantUML
146 * description, mustn't be <code>null</code>.
147 * @param displayNamePatternOpt
148 * the {@link Pattern} which filter name to appear in the plantUML description,
149 * mustn't be <code>null</code>.
150 * @since 1.0.0
151 */
152 public JavaProgrammingLanguageContext(final Set < GenericDependency > parsedAndSeenDependencies,
153 final Set < GenericDependency > parsedDependencies,
154 final Set < GenericDependency > potentialJavaLangSeenDependencies,
155 final Set < DisplayType > displayTypesOpts, final Pattern displayPackageNamePatternOpt,
156 final Pattern displayNamePatternOpt) {
157 super(parsedAndSeenDependencies, parsedDependencies, potentialJavaLangSeenDependencies, displayTypesOpts,
158 displayPackageNamePatternOpt, displayNamePatternOpt);
159 }
160 }