// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`language bindings 1`] = ` "import abc import builtins import datetime import enum import typing import jsii import publication import typing_extensions from typeguard import check_type from ._jsii import * @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Name\\", jsii_struct_bases=[], name_mapping={\\"first\\": \\"first\\", \\"last\\": \\"last\\", \\"middle\\": \\"middle\\"}, ) class Name: def __init__( self, *, first: builtins.str, last: builtins.str, middle: typing.Optional[builtins.str] = None, ) -> None: ''' :param first: :param last: :param middle: :schema: Name ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__a733313bf214654e62b2f9f69d233474d4c6277e0f71f4fd3acee58a8fc3c20d) check_type(argname=\\"argument first\\", value=first, expected_type=type_hints[\\"first\\"]) check_type(argname=\\"argument last\\", value=last, expected_type=type_hints[\\"last\\"]) check_type(argname=\\"argument middle\\", value=middle, expected_type=type_hints[\\"middle\\"]) self._values: typing.Dict[builtins.str, typing.Any] = { \\"first\\": first, \\"last\\": last, } if middle is not None: self._values[\\"middle\\"] = middle @builtins.property def first(self) -> builtins.str: ''' :schema: Name#first ''' result = self._values.get(\\"first\\") assert result is not None, \\"Required property 'first' is missing\\" return typing.cast(builtins.str, result) @builtins.property def last(self) -> builtins.str: ''' :schema: Name#last ''' result = self._values.get(\\"last\\") assert result is not None, \\"Required property 'last' is missing\\" return typing.cast(builtins.str, result) @builtins.property def middle(self) -> typing.Optional[builtins.str]: ''' :schema: Name#middle ''' result = self._values.get(\\"middle\\") return typing.cast(typing.Optional[builtins.str], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"Name(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) __all__ = [ \\"Name\\", ] publication.publish() def _typecheckingstub__a733313bf214654e62b2f9f69d233474d4c6277e0f71f4fd3acee58a8fc3c20d( *, first: builtins.str, last: builtins.str, middle: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass " `; exports[`language bindings 2`] = ` "package org.myorg; /** */ @software.amazon.jsii.Jsii(module = org.myorg.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Name\\") @software.amazon.jsii.Jsii.Proxy(Name.Jsii$Proxy.class) public interface Name extends software.amazon.jsii.JsiiSerializable { /** */ @org.jetbrains.annotations.NotNull java.lang.String getFirst(); /** */ @org.jetbrains.annotations.NotNull java.lang.String getLast(); /** */ default @org.jetbrains.annotations.Nullable java.lang.String getMiddle() { return null; } /** * @return a {@link Builder} of {@link Name} */ static Builder builder() { return new Builder(); } /** * A builder for {@link Name} */ public static final class Builder implements software.amazon.jsii.Builder<Name> { java.lang.String first; java.lang.String last; java.lang.String middle; /** * Sets the value of {@link Name#getFirst} * @param first the value to be set. This parameter is required. * @return {@code this} */ public Builder first(java.lang.String first) { this.first = first; return this; } /** * Sets the value of {@link Name#getLast} * @param last the value to be set. This parameter is required. * @return {@code this} */ public Builder last(java.lang.String last) { this.last = last; return this; } /** * Sets the value of {@link Name#getMiddle} * @param middle the value to be set. * @return {@code this} */ public Builder middle(java.lang.String middle) { this.middle = middle; return this; } /** * Builds the configured instance. * @return a new instance of {@link Name} * @throws NullPointerException if any required attribute was not provided */ @Override public Name build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link Name} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Name { private final java.lang.String first; private final java.lang.String last; private final java.lang.String middle; /** * 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.first = software.amazon.jsii.Kernel.get(this, \\"first\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.last = software.amazon.jsii.Kernel.get(this, \\"last\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.middle = software.amazon.jsii.Kernel.get(this, \\"middle\\", 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.first = java.util.Objects.requireNonNull(builder.first, \\"first is required\\"); this.last = java.util.Objects.requireNonNull(builder.last, \\"last is required\\"); this.middle = builder.middle; } @Override public final java.lang.String getFirst() { return this.first; } @Override public final java.lang.String getLast() { return this.last; } @Override public final java.lang.String getMiddle() { return this.middle; } @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(\\"first\\", om.valueToTree(this.getFirst())); data.set(\\"last\\", om.valueToTree(this.getLast())); if (this.getMiddle() != null) { data.set(\\"middle\\", om.valueToTree(this.getMiddle())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Name\\")); 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; Name.Jsii$Proxy that = (Name.Jsii$Proxy) o; if (!first.equals(that.first)) return false; if (!last.equals(that.last)) return false; return this.middle != null ? this.middle.equals(that.middle) : that.middle == null; } @Override public final int hashCode() { int result = this.first.hashCode(); result = 31 * result + (this.last.hashCode()); result = 31 * result + (this.middle != null ? this.middle.hashCode() : 0); return result; } } } " `;