1 /*
2 Copyright (C) 2020 - 2022 Alexander Kapitman
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15 */
16
17 package ru.akman.maven.plugins.jlink;
18
19 import java.io.File;
20
21 /**
22 * Launcher script.
23 */
24 public class Launcher {
25
26 /**
27 * Launcher command (script) name.
28 */
29 private String command;
30
31 /**
32 * Main module name.
33 */
34 private String mainmodule;
35
36 /**
37 * Main class name.
38 */
39 private String mainclass;
40
41 /**
42 * Java runtime arguments.
43 */
44 private String jvmargs;
45
46 /**
47 * Command arguments.
48 */
49 private String args;
50
51 /**
52 * Template file for *nix script.
53 */
54 private File nixtemplate;
55
56 /**
57 * Template file for windows script.
58 */
59 private File wintemplate;
60
61 /**
62 * Get command (script) name.
63 *
64 * @return the command (script) name without extension
65 */
66 public String getCommand() {
67 return this.command;
68 }
69
70 /**
71 * Set command (script) name.
72 *
73 * @param command the name of command (script)
74 */
75 public void setCommand(final String command) {
76 this.command = command;
77 }
78
79 /**
80 * Get main module name.
81 *
82 * @return the main module name
83 */
84 public String getMainModule() {
85 return this.mainmodule;
86 }
87
88 /**
89 * Set main module name.
90 *
91 * @param mainmodule the name of main module
92 */
93 public void setMainModule(final String mainmodule) {
94 this.mainmodule = mainmodule;
95 }
96
97 /**
98 * Get main class name.
99 *
100 * @return the main class name
101 */
102 public String getMainClass() {
103 return this.mainclass;
104 }
105
106 /**
107 * Set main class name.
108 *
109 * @param mainclass the name of main class
110 */
111 public void setMainClass(final String mainclass) {
112 this.mainclass = mainclass;
113 }
114
115 /**
116 * Get Java runtime arguments.
117 *
118 * @return the Java runtime arguments
119 */
120 public String getJvmArgs() {
121 return this.jvmargs;
122 }
123
124 /**
125 * Set Java runtime arguments.
126 *
127 * @param jvmargs Java runtime arguments
128 */
129 public void setJvmArgs(final String jvmargs) {
130 this.jvmargs = jvmargs;
131 }
132
133 /**
134 * Get command (script) argument.
135 *
136 * @return the command (script) arguments
137 */
138 public String getArgs() {
139 return this.args;
140 }
141
142 /**
143 * Set command (script) arguments.
144 *
145 * @param args the command (script) arguments
146 */
147 public void setArgs(final String args) {
148 this.args = args;
149 }
150
151 /**
152 * Get *nix template file.
153 *
154 * @return the *nix template file
155 */
156 public File getNixTemplate() {
157 return this.nixtemplate;
158 }
159
160 /**
161 * Set *nix template file.
162 *
163 * @param nixtemplate the *nix template file
164 */
165 public void setNixTemplate(final File nixtemplate) {
166 this.nixtemplate = nixtemplate;
167 }
168
169 /**
170 * Get windows template file.
171 *
172 * @return the windows template file
173 */
174 public File getWinTemplate() {
175 return this.wintemplate;
176 }
177
178 /**
179 * Set windows template file.
180 *
181 * @param wintemplate the windows template file
182 */
183 public void setWinTemplate(final File wintemplate) {
184 this.wintemplate = wintemplate;
185 }
186
187 }