X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsonitus%2Fdata%2FMetadata.java;h=91acad4c96e333340d845df1d7e3d38a2f92bf0f;hb=2daf7a2adb65ea869e85326cff512e0410e1a257;hp=52cb365c1fe8cb8bbaf5c1eee23ec558983dba51;hpb=0f20c60dd0509d91b488c2c10edf7498feeed560;p=sonitus.git diff --git a/src/main/java/net/pterodactylus/sonitus/data/Metadata.java b/src/main/java/net/pterodactylus/sonitus/data/Metadata.java index 52cb365..91acad4 100644 --- a/src/main/java/net/pterodactylus/sonitus/data/Metadata.java +++ b/src/main/java/net/pterodactylus/sonitus/data/Metadata.java @@ -59,6 +59,24 @@ public class Metadata { // /** + * Returns the embedded format metadata. + * + * @return The format metadata + */ + public FormatMetadata format() { + return formatMetadata; + } + + /** + * Returns the embedded content metadata. + * + * @return The content metadata + */ + public ContentMetadata content() { + return contentMetadata; + } + + /** * Returns the number of channels of this metadata. * * @return The number of channels of this metadata @@ -184,6 +202,37 @@ public class Metadata { return new Metadata(formatMetadata, contentMetadata.title(title)); } + /** + * Returns the comment of the content, if any. + * + * @return The comment of the content + */ + public Optional comment() { + return contentMetadata.comment(); + } + + /** + * Returns new metadata with the same attributes as this metadata but with the + * comment changed to the given comment. + * + * @param comment + * The new comment + * @return The new metadata + */ + public Metadata comment(String comment) { + return new Metadata(formatMetadata, contentMetadata.comment(comment)); + } + + /** + * Returns the title with the comment appended in parantheses, if a comment has + * been set. + * + * @return The title with the comment appended + */ + public String fullTitle() { + return String.format("%s%s", title(), comment().isPresent() ? String.format(" (%s)", comment().get()) : ""); + } + // // OBJECT METHODS // @@ -204,7 +253,7 @@ public class Metadata { @Override public String toString() { - return String.format("%s: %s", formatMetadata, contentMetadata); + return String.format("%s%s%s", formatMetadata, contentMetadata.toString().length() > 0 ? ": " : "", contentMetadata); } }