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

com.github.mmuller88.alpsUnifiedTs.DescriptorDef Maven / Gradle / Ivy

package com.github.mmuller88.alpsUnifiedTs;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.16.0 (build 99a3413)", date = "2020-12-19T21:27:37.747Z")
@software.amazon.jsii.Jsii(module = com.github.mmuller88.alpsUnifiedTs.$Module.class, fqn = "alps-unified-ts.DescriptorDef")
@software.amazon.jsii.Jsii.Proxy(DescriptorDef.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface DescriptorDef extends software.amazon.jsii.JsiiSerializable {

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

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

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

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

    /**
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    default @org.jetbrains.annotations.Nullable com.github.mmuller88.alpsUnifiedTs.DocDef getDoc() {
        return null;
    }

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

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

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

    /**
     * @return a {@link Builder} of {@link DescriptorDef}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    static Builder builder() {
        return new Builder();
    }
    /**
     * A builder for {@link DescriptorDef}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public static final class Builder implements software.amazon.jsii.Builder {
        private java.lang.String id;
        private java.lang.String text;
        private java.lang.String type;
        private java.util.List descriptor;
        private com.github.mmuller88.alpsUnifiedTs.DocDef doc;
        private java.lang.String href;
        private java.lang.String rt;
        private java.lang.String tags;

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

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

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

        /**
         * Sets the value of {@link DescriptorDef#getDescriptor}
         * @param descriptor the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @SuppressWarnings("unchecked")
        public Builder descriptor(java.util.List descriptor) {
            this.descriptor = (java.util.List)descriptor;
            return this;
        }

        /**
         * Sets the value of {@link DescriptorDef#getDoc}
         * @param doc the value to be set.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        public Builder doc(com.github.mmuller88.alpsUnifiedTs.DocDef doc) {
            this.doc = doc;
            return this;
        }

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

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

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

        /**
         * Builds the configured instance.
         * @return a new instance of {@link DescriptorDef}
         * @throws NullPointerException if any required attribute was not provided
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
        @Override
        public DescriptorDef build() {
            return new Jsii$Proxy(id, text, type, descriptor, doc, href, rt, tags);
        }
    }

    /**
     * An implementation for {@link DescriptorDef}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    @software.amazon.jsii.Internal
    final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DescriptorDef {
        private final java.lang.String id;
        private final java.lang.String text;
        private final java.lang.String type;
        private final java.util.List descriptor;
        private final com.github.mmuller88.alpsUnifiedTs.DocDef doc;
        private final java.lang.String href;
        private final java.lang.String rt;
        private final java.lang.String tags;

        /**
         * 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.id = software.amazon.jsii.Kernel.get(this, "id", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.text = software.amazon.jsii.Kernel.get(this, "text", 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.descriptor = software.amazon.jsii.Kernel.get(this, "descriptor", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.github.mmuller88.alpsUnifiedTs.DescriptorDef.class)));
            this.doc = software.amazon.jsii.Kernel.get(this, "doc", software.amazon.jsii.NativeType.forClass(com.github.mmuller88.alpsUnifiedTs.DocDef.class));
            this.href = software.amazon.jsii.Kernel.get(this, "href", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.rt = software.amazon.jsii.Kernel.get(this, "rt", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
            this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
        }

        /**
         * Constructor that initializes the object based on literal property values passed by the {@link Builder}.
         */
        @SuppressWarnings("unchecked")
        protected Jsii$Proxy(final java.lang.String id, final java.lang.String text, final java.lang.String type, final java.util.List descriptor, final com.github.mmuller88.alpsUnifiedTs.DocDef doc, final java.lang.String href, final java.lang.String rt, final java.lang.String tags) {
            super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
            this.id = java.util.Objects.requireNonNull(id, "id is required");
            this.text = java.util.Objects.requireNonNull(text, "text is required");
            this.type = java.util.Objects.requireNonNull(type, "type is required");
            this.descriptor = (java.util.List)descriptor;
            this.doc = doc;
            this.href = href;
            this.rt = rt;
            this.tags = tags;
        }

        @Override
        public final java.lang.String getId() {
            return this.id;
        }

        @Override
        public final java.lang.String getText() {
            return this.text;
        }

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

        @Override
        public final java.util.List getDescriptor() {
            return this.descriptor;
        }

        @Override
        public final com.github.mmuller88.alpsUnifiedTs.DocDef getDoc() {
            return this.doc;
        }

        @Override
        public final java.lang.String getHref() {
            return this.href;
        }

        @Override
        public final java.lang.String getRt() {
            return this.rt;
        }

        @Override
        public final java.lang.String getTags() {
            return this.tags;
        }

        @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("id", om.valueToTree(this.getId()));
            data.set("text", om.valueToTree(this.getText()));
            data.set("type", om.valueToTree(this.getType()));
            if (this.getDescriptor() != null) {
                data.set("descriptor", om.valueToTree(this.getDescriptor()));
            }
            if (this.getDoc() != null) {
                data.set("doc", om.valueToTree(this.getDoc()));
            }
            if (this.getHref() != null) {
                data.set("href", om.valueToTree(this.getHref()));
            }
            if (this.getRt() != null) {
                data.set("rt", om.valueToTree(this.getRt()));
            }
            if (this.getTags() != null) {
                data.set("tags", om.valueToTree(this.getTags()));
            }

            final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
            struct.set("fqn", om.valueToTree("alps-unified-ts.DescriptorDef"));
            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;

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

            if (!id.equals(that.id)) return false;
            if (!text.equals(that.text)) return false;
            if (!type.equals(that.type)) return false;
            if (this.descriptor != null ? !this.descriptor.equals(that.descriptor) : that.descriptor != null) return false;
            if (this.doc != null ? !this.doc.equals(that.doc) : that.doc != null) return false;
            if (this.href != null ? !this.href.equals(that.href) : that.href != null) return false;
            if (this.rt != null ? !this.rt.equals(that.rt) : that.rt != null) return false;
            return this.tags != null ? this.tags.equals(that.tags) : that.tags == null;
        }

        @Override
        public final int hashCode() {
            int result = this.id.hashCode();
            result = 31 * result + (this.text.hashCode());
            result = 31 * result + (this.type.hashCode());
            result = 31 * result + (this.descriptor != null ? this.descriptor.hashCode() : 0);
            result = 31 * result + (this.doc != null ? this.doc.hashCode() : 0);
            result = 31 * result + (this.href != null ? this.href.hashCode() : 0);
            result = 31 * result + (this.rt != null ? this.rt.hashCode() : 0);
            result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0);
            return result;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy