All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.cdklabs.projen.vscode.VsCodeLaunchConfigurationEntry Maven / Gradle / Ivy

package io.github.cdklabs.projen.vscode;

/**
 * (experimental) Options for a 'VsCodeLaunchConfigurationEntry' Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.50.0 (build d1830a4)", date = "2022-01-03T02:39:48.795Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.projen.$Module.class, fqn = "projen.vscode.VsCodeLaunchConfigurationEntry")
@software.amazon.jsii.Jsii.Proxy(VsCodeLaunchConfigurationEntry.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface VsCodeLaunchConfigurationEntry extends software.amazon.jsii.JsiiSerializable {

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getName();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getRequest();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getType();

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.util.List getArgs() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.Number getDebugServer() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable io.github.cdklabs.projen.vscode.InternalConsoleOptions getInternalConsoleOptions() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.util.List getOutFiles() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.String getPostDebugTask() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.String getPreLaunchTask() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable io.github.cdklabs.projen.vscode.Presentation getPresentation() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.String getProgram() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.util.List getRuntimeArgs() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable io.github.cdklabs.projen.vscode.ServerReadyAction getServerReadyAction() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.util.List getSkipFiles() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.String getUrl() {
        return null;
    }

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    default @org.jetbrains.annotations.Nullable java.lang.String getWebRoot() {
        return null;
    }

    /**
     * @return a {@link Builder} of {@link VsCodeLaunchConfigurationEntry}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    static Builder builder() {
        return new Builder();
    }
    /**
     * A builder for {@link VsCodeLaunchConfigurationEntry}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    public static final class Builder implements software.amazon.jsii.Builder {
        java.lang.String name;
        java.lang.String request;
        java.lang.String type;
        java.util.List args;
        java.lang.Number debugServer;
        io.github.cdklabs.projen.vscode.InternalConsoleOptions internalConsoleOptions;
        java.util.List outFiles;
        java.lang.String postDebugTask;
        java.lang.String preLaunchTask;
        io.github.cdklabs.projen.vscode.Presentation presentation;
        java.lang.String program;
        java.util.List runtimeArgs;
        io.github.cdklabs.projen.vscode.ServerReadyAction serverReadyAction;
        java.util.List skipFiles;
        java.lang.String url;
        java.lang.String webRoot;

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getName}
         * @param name the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder name(java.lang.String name) {
            this.name = name;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getRequest}
         * @param request the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder request(java.lang.String request) {
            this.request = request;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getType}
         * @param type the value to be set. This parameter is required.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder type(java.lang.String type) {
            this.type = type;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getArgs}
         * @param args the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder args(java.util.List args) {
            this.args = args;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getDebugServer}
         * @param debugServer the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder debugServer(java.lang.Number debugServer) {
            this.debugServer = debugServer;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getInternalConsoleOptions}
         * @param internalConsoleOptions the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder internalConsoleOptions(io.github.cdklabs.projen.vscode.InternalConsoleOptions internalConsoleOptions) {
            this.internalConsoleOptions = internalConsoleOptions;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getOutFiles}
         * @param outFiles the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder outFiles(java.util.List outFiles) {
            this.outFiles = outFiles;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getPostDebugTask}
         * @param postDebugTask the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder postDebugTask(java.lang.String postDebugTask) {
            this.postDebugTask = postDebugTask;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getPreLaunchTask}
         * @param preLaunchTask the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder preLaunchTask(java.lang.String preLaunchTask) {
            this.preLaunchTask = preLaunchTask;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getPresentation}
         * @param presentation the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder presentation(io.github.cdklabs.projen.vscode.Presentation presentation) {
            this.presentation = presentation;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getProgram}
         * @param program the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder program(java.lang.String program) {
            this.program = program;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getRuntimeArgs}
         * @param runtimeArgs the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder runtimeArgs(java.util.List runtimeArgs) {
            this.runtimeArgs = runtimeArgs;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getServerReadyAction}
         * @param serverReadyAction the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder serverReadyAction(io.github.cdklabs.projen.vscode.ServerReadyAction serverReadyAction) {
            this.serverReadyAction = serverReadyAction;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getSkipFiles}
         * @param skipFiles the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder skipFiles(java.util.List skipFiles) {
            this.skipFiles = skipFiles;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getUrl}
         * @param url the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder url(java.lang.String url) {
            this.url = url;
            return this;
        }

        /**
         * Sets the value of {@link VsCodeLaunchConfigurationEntry#getWebRoot}
         * @param webRoot the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder webRoot(java.lang.String webRoot) {
            this.webRoot = webRoot;
            return this;
        }

        /**
         * Builds the configured instance.
         * @return a new instance of {@link VsCodeLaunchConfigurationEntry}
         * @throws NullPointerException if any required attribute was not provided
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        @Override
        public VsCodeLaunchConfigurationEntry build() {
            return new Jsii$Proxy(this);
        }
    }

    /**
     * An implementation for {@link VsCodeLaunchConfigurationEntry}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @software.amazon.jsii.Internal
    final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements VsCodeLaunchConfigurationEntry {
        private final java.lang.String name;
        private final java.lang.String request;
        private final java.lang.String type;
        private final java.util.List args;
        private final java.lang.Number debugServer;
        private final io.github.cdklabs.projen.vscode.InternalConsoleOptions internalConsoleOptions;
        private final java.util.List outFiles;
        private final java.lang.String postDebugTask;
        private final java.lang.String preLaunchTask;
        private final io.github.cdklabs.projen.vscode.Presentation presentation;
        private final java.lang.String program;
        private final java.util.List runtimeArgs;
        private final io.github.cdklabs.projen.vscode.ServerReadyAction serverReadyAction;
        private final java.util.List skipFiles;
        private final java.lang.String url;
        private final java.lang.String webRoot;

        /**
         * Constructor that initializes the object based on values retrieved from the JsiiObject.
         * @param objRef Reference to the JSII managed object.
         */
        protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
            super(objRef);
            this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.request = software.amazon.jsii.Kernel.get(this, "request", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.type = software.amazon.jsii.Kernel.get(this, "type", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.args = software.amazon.jsii.Kernel.get(this, "args", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.debugServer = software.amazon.jsii.Kernel.get(this, "debugServer", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
            this.internalConsoleOptions = software.amazon.jsii.Kernel.get(this, "internalConsoleOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.vscode.InternalConsoleOptions.class));
            this.outFiles = software.amazon.jsii.Kernel.get(this, "outFiles", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.postDebugTask = software.amazon.jsii.Kernel.get(this, "postDebugTask", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.preLaunchTask = software.amazon.jsii.Kernel.get(this, "preLaunchTask", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.presentation = software.amazon.jsii.Kernel.get(this, "presentation", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.vscode.Presentation.class));
            this.program = software.amazon.jsii.Kernel.get(this, "program", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.runtimeArgs = software.amazon.jsii.Kernel.get(this, "runtimeArgs", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.serverReadyAction = software.amazon.jsii.Kernel.get(this, "serverReadyAction", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.vscode.ServerReadyAction.class));
            this.skipFiles = software.amazon.jsii.Kernel.get(this, "skipFiles", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
            this.url = software.amazon.jsii.Kernel.get(this, "url", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.webRoot = software.amazon.jsii.Kernel.get(this, "webRoot", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
        }

        /**
         * Constructor that initializes the object based on literal property values passed by the {@link Builder}.
         */
        protected Jsii$Proxy(final Builder builder) {
            super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
            this.name = java.util.Objects.requireNonNull(builder.name, "name is required");
            this.request = java.util.Objects.requireNonNull(builder.request, "request is required");
            this.type = java.util.Objects.requireNonNull(builder.type, "type is required");
            this.args = builder.args;
            this.debugServer = builder.debugServer;
            this.internalConsoleOptions = builder.internalConsoleOptions;
            this.outFiles = builder.outFiles;
            this.postDebugTask = builder.postDebugTask;
            this.preLaunchTask = builder.preLaunchTask;
            this.presentation = builder.presentation;
            this.program = builder.program;
            this.runtimeArgs = builder.runtimeArgs;
            this.serverReadyAction = builder.serverReadyAction;
            this.skipFiles = builder.skipFiles;
            this.url = builder.url;
            this.webRoot = builder.webRoot;
        }

        @Override
        public final java.lang.String getName() {
            return this.name;
        }

        @Override
        public final java.lang.String getRequest() {
            return this.request;
        }

        @Override
        public final java.lang.String getType() {
            return this.type;
        }

        @Override
        public final java.util.List getArgs() {
            return this.args;
        }

        @Override
        public final java.lang.Number getDebugServer() {
            return this.debugServer;
        }

        @Override
        public final io.github.cdklabs.projen.vscode.InternalConsoleOptions getInternalConsoleOptions() {
            return this.internalConsoleOptions;
        }

        @Override
        public final java.util.List getOutFiles() {
            return this.outFiles;
        }

        @Override
        public final java.lang.String getPostDebugTask() {
            return this.postDebugTask;
        }

        @Override
        public final java.lang.String getPreLaunchTask() {
            return this.preLaunchTask;
        }

        @Override
        public final io.github.cdklabs.projen.vscode.Presentation getPresentation() {
            return this.presentation;
        }

        @Override
        public final java.lang.String getProgram() {
            return this.program;
        }

        @Override
        public final java.util.List getRuntimeArgs() {
            return this.runtimeArgs;
        }

        @Override
        public final io.github.cdklabs.projen.vscode.ServerReadyAction getServerReadyAction() {
            return this.serverReadyAction;
        }

        @Override
        public final java.util.List getSkipFiles() {
            return this.skipFiles;
        }

        @Override
        public final java.lang.String getUrl() {
            return this.url;
        }

        @Override
        public final java.lang.String getWebRoot() {
            return this.webRoot;
        }

        @Override
        @software.amazon.jsii.Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
            final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
            final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();

            data.set("name", om.valueToTree(this.getName()));
            data.set("request", om.valueToTree(this.getRequest()));
            data.set("type", om.valueToTree(this.getType()));
            if (this.getArgs() != null) {
                data.set("args", om.valueToTree(this.getArgs()));
            }
            if (this.getDebugServer() != null) {
                data.set("debugServer", om.valueToTree(this.getDebugServer()));
            }
            if (this.getInternalConsoleOptions() != null) {
                data.set("internalConsoleOptions", om.valueToTree(this.getInternalConsoleOptions()));
            }
            if (this.getOutFiles() != null) {
                data.set("outFiles", om.valueToTree(this.getOutFiles()));
            }
            if (this.getPostDebugTask() != null) {
                data.set("postDebugTask", om.valueToTree(this.getPostDebugTask()));
            }
            if (this.getPreLaunchTask() != null) {
                data.set("preLaunchTask", om.valueToTree(this.getPreLaunchTask()));
            }
            if (this.getPresentation() != null) {
                data.set("presentation", om.valueToTree(this.getPresentation()));
            }
            if (this.getProgram() != null) {
                data.set("program", om.valueToTree(this.getProgram()));
            }
            if (this.getRuntimeArgs() != null) {
                data.set("runtimeArgs", om.valueToTree(this.getRuntimeArgs()));
            }
            if (this.getServerReadyAction() != null) {
                data.set("serverReadyAction", om.valueToTree(this.getServerReadyAction()));
            }
            if (this.getSkipFiles() != null) {
                data.set("skipFiles", om.valueToTree(this.getSkipFiles()));
            }
            if (this.getUrl() != null) {
                data.set("url", om.valueToTree(this.getUrl()));
            }
            if (this.getWebRoot() != null) {
                data.set("webRoot", om.valueToTree(this.getWebRoot()));
            }

            final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            struct.set("fqn", om.valueToTree("projen.vscode.VsCodeLaunchConfigurationEntry"));
            struct.set("data", data);

            final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            obj.set("$jsii.struct", struct);

            return obj;
        }

        @Override
        public final boolean equals(final Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;

            VsCodeLaunchConfigurationEntry.Jsii$Proxy that = (VsCodeLaunchConfigurationEntry.Jsii$Proxy) o;

            if (!name.equals(that.name)) return false;
            if (!request.equals(that.request)) return false;
            if (!type.equals(that.type)) return false;
            if (this.args != null ? !this.args.equals(that.args) : that.args != null) return false;
            if (this.debugServer != null ? !this.debugServer.equals(that.debugServer) : that.debugServer != null) return false;
            if (this.internalConsoleOptions != null ? !this.internalConsoleOptions.equals(that.internalConsoleOptions) : that.internalConsoleOptions != null) return false;
            if (this.outFiles != null ? !this.outFiles.equals(that.outFiles) : that.outFiles != null) return false;
            if (this.postDebugTask != null ? !this.postDebugTask.equals(that.postDebugTask) : that.postDebugTask != null) return false;
            if (this.preLaunchTask != null ? !this.preLaunchTask.equals(that.preLaunchTask) : that.preLaunchTask != null) return false;
            if (this.presentation != null ? !this.presentation.equals(that.presentation) : that.presentation != null) return false;
            if (this.program != null ? !this.program.equals(that.program) : that.program != null) return false;
            if (this.runtimeArgs != null ? !this.runtimeArgs.equals(that.runtimeArgs) : that.runtimeArgs != null) return false;
            if (this.serverReadyAction != null ? !this.serverReadyAction.equals(that.serverReadyAction) : that.serverReadyAction != null) return false;
            if (this.skipFiles != null ? !this.skipFiles.equals(that.skipFiles) : that.skipFiles != null) return false;
            if (this.url != null ? !this.url.equals(that.url) : that.url != null) return false;
            return this.webRoot != null ? this.webRoot.equals(that.webRoot) : that.webRoot == null;
        }

        @Override
        public final int hashCode() {
            int result = this.name.hashCode();
            result = 31 * result + (this.request.hashCode());
            result = 31 * result + (this.type.hashCode());
            result = 31 * result + (this.args != null ? this.args.hashCode() : 0);
            result = 31 * result + (this.debugServer != null ? this.debugServer.hashCode() : 0);
            result = 31 * result + (this.internalConsoleOptions != null ? this.internalConsoleOptions.hashCode() : 0);
            result = 31 * result + (this.outFiles != null ? this.outFiles.hashCode() : 0);
            result = 31 * result + (this.postDebugTask != null ? this.postDebugTask.hashCode() : 0);
            result = 31 * result + (this.preLaunchTask != null ? this.preLaunchTask.hashCode() : 0);
            result = 31 * result + (this.presentation != null ? this.presentation.hashCode() : 0);
            result = 31 * result + (this.program != null ? this.program.hashCode() : 0);
            result = 31 * result + (this.runtimeArgs != null ? this.runtimeArgs.hashCode() : 0);
            result = 31 * result + (this.serverReadyAction != null ? this.serverReadyAction.hashCode() : 0);
            result = 31 * result + (this.skipFiles != null ? this.skipFiles.hashCode() : 0);
            result = 31 * result + (this.url != null ? this.url.hashCode() : 0);
            result = 31 * result + (this.webRoot != null ? this.webRoot.hashCode() : 0);
            return result;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy