Package com.io7m.jnoisetype.api
Class NTInfo
java.lang.Object
com.io7m.jnoisetype.api.NTInfo
- All Implemented Interfaces:
NTInfoType
- See Also:
-
- "SoundFontⓡ Technical Specification 2.04, §5 The INFO-list Chunk"
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic NTInfo.Builderbuilder()Creates a builder forNTInfo.comment()static NTInfocopyOf(NTInfoType instance) Creates an immutable copy of aNTInfoTypevalue.booleanThis instance is equal to all instances ofNTInfothat have equal attribute values.inthashCode()Computes a hash code from attributes:version,soundEngine,name,rom,romRevision,creationDate,engineers,product,copyright,comment,software.name()product()rom()software()toString()Prints the immutable valueNTInfowith attribute values.version()final NTInfowithComment(NTLongString value) Copy the current immutable object by setting a present value for the optionalcommentattribute.final NTInfowithComment(Optional<? extends NTLongString> optional) Copy the current immutable object by setting an optional value for thecommentattribute.final NTInfowithCopyright(NTShortString value) Copy the current immutable object by setting a present value for the optionalcopyrightattribute.final NTInfowithCopyright(Optional<? extends NTShortString> optional) Copy the current immutable object by setting an optional value for thecopyrightattribute.final NTInfowithCreationDate(NTShortString value) Copy the current immutable object by setting a present value for the optionalcreationDateattribute.final NTInfowithCreationDate(Optional<? extends NTShortString> optional) Copy the current immutable object by setting an optional value for thecreationDateattribute.final NTInfowithEngineers(NTShortString value) Copy the current immutable object by setting a present value for the optionalengineersattribute.final NTInfowithEngineers(Optional<? extends NTShortString> optional) Copy the current immutable object by setting an optional value for theengineersattribute.final NTInfowithName(NTShortString value) Copy the current immutable object by setting a value for thenameattribute.final NTInfowithProduct(NTShortString value) Copy the current immutable object by setting a present value for the optionalproductattribute.final NTInfowithProduct(Optional<? extends NTShortString> optional) Copy the current immutable object by setting an optional value for theproductattribute.final NTInfowithRom(NTShortString value) Copy the current immutable object by setting a present value for the optionalromattribute.final NTInfowithRom(Optional<? extends NTShortString> optional) Copy the current immutable object by setting an optional value for theromattribute.final NTInfowithRomRevision(NTVersion value) Copy the current immutable object by setting a present value for the optionalromRevisionattribute.final NTInfowithRomRevision(Optional<? extends NTVersion> optional) Copy the current immutable object by setting an optional value for theromRevisionattribute.final NTInfowithSoftware(NTShortString value) Copy the current immutable object by setting a present value for the optionalsoftwareattribute.final NTInfowithSoftware(Optional<? extends NTShortString> optional) Copy the current immutable object by setting an optional value for thesoftwareattribute.final NTInfowithSoundEngine(NTShortString value) Copy the current immutable object by setting a value for thesoundEngineattribute.final NTInfowithVersion(NTVersion value) Copy the current immutable object by setting a value for theversionattribute.
-
Method Details
-
version
- Specified by:
versionin interfaceNTInfoType- Returns:
- The version of the specification to which the file is expected to comply
-
soundEngine
- Specified by:
soundEnginein interfaceNTInfoType- Returns:
- The wavetable sound engine for which the file was optimized
-
name
- Specified by:
namein interfaceNTInfoType- Returns:
- The name of the SoundFont compatible bank
-
rom
- Specified by:
romin interfaceNTInfoType- Returns:
- A particular wavetable sound data ROM to which any ROM samples refer
-
romRevision
- Specified by:
romRevisionin interfaceNTInfoType- Returns:
- The particular wavetable sound data ROM revision to which any ROM samples refer
-
creationDate
- Specified by:
creationDatein interfaceNTInfoType- Returns:
- The creation date of the SoundFont
-
engineers
- Specified by:
engineersin interfaceNTInfoType- Returns:
- The engineers responsible for the creation of the SoundFont
-
product
- Specified by:
productin interfaceNTInfoType- Returns:
- Any specific product for which the SoundFont compatible bank is intended
-
copyright
- Specified by:
copyrightin interfaceNTInfoType- Returns:
- Any copyright assertion string associated with the SoundFont compatible bank
-
comment
- Specified by:
commentin interfaceNTInfoType- Returns:
- Any comment text associated with the SoundFont compatible bank
-
software
- Specified by:
softwarein interfaceNTInfoType- Returns:
- The SoundFont compatible tools used to create and most recently modify the SoundFont compatible bank
-
withVersion
Copy the current immutable object by setting a value for theversionattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for version- Returns:
- A modified copy of the
thisobject
-
withSoundEngine
Copy the current immutable object by setting a value for thesoundEngineattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for soundEngine- Returns:
- A modified copy of the
thisobject
-
withName
Copy the current immutable object by setting a value for thenameattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for name- Returns:
- A modified copy of the
thisobject
-
withRom
Copy the current immutable object by setting a present value for the optionalromattribute.- Parameters:
value- The value for rom- Returns:
- A modified copy of
thisobject
-
withRom
Copy the current immutable object by setting an optional value for theromattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for rom- Returns:
- A modified copy of
thisobject
-
withRomRevision
Copy the current immutable object by setting a present value for the optionalromRevisionattribute.- Parameters:
value- The value for romRevision- Returns:
- A modified copy of
thisobject
-
withRomRevision
Copy the current immutable object by setting an optional value for theromRevisionattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for romRevision- Returns:
- A modified copy of
thisobject
-
withCreationDate
Copy the current immutable object by setting a present value for the optionalcreationDateattribute.- Parameters:
value- The value for creationDate- Returns:
- A modified copy of
thisobject
-
withCreationDate
Copy the current immutable object by setting an optional value for thecreationDateattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for creationDate- Returns:
- A modified copy of
thisobject
-
withEngineers
Copy the current immutable object by setting a present value for the optionalengineersattribute.- Parameters:
value- The value for engineers- Returns:
- A modified copy of
thisobject
-
withEngineers
Copy the current immutable object by setting an optional value for theengineersattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for engineers- Returns:
- A modified copy of
thisobject
-
withProduct
Copy the current immutable object by setting a present value for the optionalproductattribute.- Parameters:
value- The value for product- Returns:
- A modified copy of
thisobject
-
withProduct
Copy the current immutable object by setting an optional value for theproductattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for product- Returns:
- A modified copy of
thisobject
-
withCopyright
Copy the current immutable object by setting a present value for the optionalcopyrightattribute.- Parameters:
value- The value for copyright- Returns:
- A modified copy of
thisobject
-
withCopyright
Copy the current immutable object by setting an optional value for thecopyrightattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for copyright- Returns:
- A modified copy of
thisobject
-
withComment
Copy the current immutable object by setting a present value for the optionalcommentattribute.- Parameters:
value- The value for comment- Returns:
- A modified copy of
thisobject
-
withComment
Copy the current immutable object by setting an optional value for thecommentattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for comment- Returns:
- A modified copy of
thisobject
-
withSoftware
Copy the current immutable object by setting a present value for the optionalsoftwareattribute.- Parameters:
value- The value for software- Returns:
- A modified copy of
thisobject
-
withSoftware
Copy the current immutable object by setting an optional value for thesoftwareattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for software- Returns:
- A modified copy of
thisobject
-
equals
This instance is equal to all instances ofNTInfothat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:version,soundEngine,name,rom,romRevision,creationDate,engineers,product,copyright,comment,software. -
toString
Prints the immutable valueNTInfowith attribute values. -
copyOf
Creates an immutable copy of aNTInfoTypevalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable NTInfo instance
-
builder
Creates a builder forNTInfo.NTInfo.builder() .setVersion(com.io7m.jnoisetype.api.NTVersion) // requiredversion.setSoundEngine(com.io7m.jnoisetype.api.NTShortString) // optionalsoundEngine.setName(com.io7m.jnoisetype.api.NTShortString) // requiredname.setRom(NTShortString) // optionalrom.setRomRevision(NTVersion) // optionalromRevision.setCreationDate(NTShortString) // optionalcreationDate.setEngineers(NTShortString) // optionalengineers.setProduct(NTShortString) // optionalproduct.setCopyright(NTShortString) // optionalcopyright.setComment(NTLongString) // optionalcomment.setSoftware(NTShortString) // optionalsoftware.build();- Returns:
- A new NTInfo builder
-