/** * Copy the current immutable object by setting a value for the {@link SMFSchemaIdentifierType#schemaMajorVersion() schemaMajorVersion} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for schemaMajorVersion * @return A modified copy of the {@code this} object */ public final SMFSchemaIdentifier withSchemaMajorVersion(int value) { if (this.schemaMajorVersion == value) return this; return new SMFSchemaIdentifier(this.vendorID, this.schemaID, value, this.schemaMinorVersion); }
/** * Copy the current immutable object by setting a value for the {@link SMFSchemaIdentifierType#schemaMinorVersion() schemaMinorVersion} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for schemaMinorVersion * @return A modified copy of the {@code this} object */ public final SMFSchemaIdentifier withSchemaMinorVersion(int value) { if (this.schemaMinorVersion == value) return this; return new SMFSchemaIdentifier(this.vendorID, this.schemaID, this.schemaMajorVersion, value); }
/** * Copy the current immutable object by setting a value for the {@link SMFSchemaIdentifierType#versionMinor() versionMinor} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for versionMinor * @return A modified copy of the {@code this} object */ public final SMFSchemaIdentifier withVersionMinor(int value) { if (this.versionMinor == value) return this; return new SMFSchemaIdentifier(this, this.name, this.versionMajor, value); }
/** * Copy the current immutable object by setting a value for the {@link SMFSchemaIdentifierType#vendorID() vendorID} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for vendorID * @return A modified copy of the {@code this} object */ public final SMFSchemaIdentifier withVendorID(int value) { if (this.vendorID == value) return this; return new SMFSchemaIdentifier(value, this.schemaID, this.schemaMajorVersion, this.schemaMinorVersion); }
/** * Copy the current immutable object by setting a value for the {@link SMFSchemaIdentifierType#schemaID() schemaID} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for schemaID * @return A modified copy of the {@code this} object */ public final SMFSchemaIdentifier withSchemaID(int value) { if (this.schemaID == value) return this; return new SMFSchemaIdentifier(this.vendorID, value, this.schemaMajorVersion, this.schemaMinorVersion); }
/** * Construct a new immutable {@code SMFSchemaIdentifier} instance. * @param vendorID The value for the {@code vendorID} attribute * @param schemaID The value for the {@code schemaID} attribute * @param schemaMajorVersion The value for the {@code schemaMajorVersion} attribute * @param schemaMinorVersion The value for the {@code schemaMinorVersion} attribute * @return An immutable SMFSchemaIdentifier instance */ public static SMFSchemaIdentifier of(int vendorID, int schemaID, int schemaMajorVersion, int schemaMinorVersion) { return new SMFSchemaIdentifier(vendorID, schemaID, schemaMajorVersion, schemaMinorVersion); }
/** * Copy the current immutable object by setting a value for the {@link SMFSchemaIdentifierType#versionMajor() versionMajor} attribute. * A value equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for versionMajor * @return A modified copy of the {@code this} object */ public final SMFSchemaIdentifier withVersionMajor(int value) { if (this.versionMajor == value) return this; return new SMFSchemaIdentifier(this, this.name, value, this.versionMinor); }
/** * Construct a new immutable {@code SMFSchemaIdentifier} instance. * @param name The value for the {@code name} attribute * @param versionMajor The value for the {@code versionMajor} attribute * @param versionMinor The value for the {@code versionMinor} attribute * @return An immutable SMFSchemaIdentifier instance */ public static SMFSchemaIdentifier of(SMFSchemaName name, int versionMajor, int versionMinor) { return new SMFSchemaIdentifier(name, versionMajor, versionMinor); }
/** * Builds a new {@link SMFSchemaIdentifier SMFSchemaIdentifier}. * @return An immutable instance of SMFSchemaIdentifier * @throws java.lang.IllegalStateException if any required attributes are missing */ public SMFSchemaIdentifier build() { return new SMFSchemaIdentifier(this); }
/** * Copy the current immutable object by setting a value for the {@link SMFSchemaIdentifierType#name() name} attribute. * A shallow reference equality check is used to prevent copying of the same value by returning {@code this}. * @param value A new value for name * @return A modified copy of the {@code this} object */ public final SMFSchemaIdentifier withName(SMFSchemaName value) { if (this.name == value) return this; SMFSchemaName newValue = Objects.requireNonNull(value, "name"); return new SMFSchemaIdentifier(this, newValue, this.versionMajor, this.versionMinor); }
/** * Builds a new {@link SMFSchemaIdentifier SMFSchemaIdentifier}. * @return An immutable instance of SMFSchemaIdentifier * @throws java.lang.IllegalStateException if any required attributes are missing */ public SMFSchemaIdentifier build() { if (initBits != 0) { throw new IllegalStateException(formatRequiredAttributesMessage()); } return new SMFSchemaIdentifier(this); }