Package com.io7m.smfj.parser.api
Class SMFParseWarning
- java.lang.Object
-
- com.io7m.smfj.parser.api.SMFParseWarning
-
- All Implemented Interfaces:
SMFWarningType,SMFParseWarningType
public final class SMFParseWarning extends java.lang.Object implements SMFParseWarningType
The type of parse warnings.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSMFParseWarning.BuilderBuilds instances of typeSMFParseWarning.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SMFParseWarning.Builderbuilder()Creates a builder forSMFParseWarning.static SMFParseWarningcopyOf(SMFParseWarningType instance)Creates an immutable copy of aSMFParseWarningTypevalue.booleanequals(java.lang.Object another)This instance is equal to all instances ofSMFParseWarningthat have equal attribute values.java.util.Optional<java.lang.Exception>exception()java.lang.StringfullMessage()inthashCode()Computes a hash code from attributes:lexical,message,exception.com.io7m.jlexing.core.LexicalPosition<java.net.URI>lexical()java.lang.Stringmessage()static SMFParseWarningof(com.io7m.jlexing.core.LexicalPosition<java.net.URI> lexical, java.lang.String message, java.util.Optional<? extends java.lang.Exception> exception)Construct a new immutableSMFParseWarninginstance.java.lang.StringtoString()Prints the immutable valueSMFParseWarningwith attribute values.SMFParseWarningwithException(java.lang.Exception value)Copy the current immutable object by setting a present value for the optionalexceptionattribute.SMFParseWarningwithException(java.util.Optional<? extends java.lang.Exception> optional)Copy the current immutable object by setting an optional value for theexceptionattribute.SMFParseWarningwithLexical(com.io7m.jlexing.core.LexicalPosition<java.net.URI> value)Copy the current immutable object by setting a value for thelexicalattribute.SMFParseWarningwithMessage(java.lang.String value)Copy the current immutable object by setting a value for themessageattribute.
-
-
-
Method Detail
-
lexical
public com.io7m.jlexing.core.LexicalPosition<java.net.URI> lexical()
- Specified by:
lexicalin interfaceSMFParseWarningType- Returns:
- Lexical information
-
message
public java.lang.String message()
- Specified by:
messagein interfaceSMFParseWarningType- Specified by:
messagein interfaceSMFWarningType- Returns:
- The value of the
messageattribute
-
exception
public java.util.Optional<java.lang.Exception> exception()
- Specified by:
exceptionin interfaceSMFParseWarningType- Specified by:
exceptionin interfaceSMFWarningType- Returns:
- The value of the
exceptionattribute
-
withLexical
public final SMFParseWarning withLexical(com.io7m.jlexing.core.LexicalPosition<java.net.URI> value)
Copy the current immutable object by setting a value for thelexicalattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for lexical- Returns:
- A modified copy of the
thisobject
-
withMessage
public final SMFParseWarning withMessage(java.lang.String value)
Copy the current immutable object by setting a value for themessageattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for message- Returns:
- A modified copy of the
thisobject
-
withException
public final SMFParseWarning withException(java.lang.Exception value)
Copy the current immutable object by setting a present value for the optionalexceptionattribute.- Parameters:
value- The value for exception- Returns:
- A modified copy of
thisobject
-
withException
public final SMFParseWarning withException(java.util.Optional<? extends java.lang.Exception> optional)
Copy the current immutable object by setting an optional value for theexceptionattribute. 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 exception- Returns:
- A modified copy of
thisobject
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofSMFParseWarningthat have equal attribute values.- Overrides:
equalsin classjava.lang.Object- Returns:
trueifthisis equal toanotherinstance
-
hashCode
public int hashCode()
Computes a hash code from attributes:lexical,message,exception.- Overrides:
hashCodein classjava.lang.Object- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueSMFParseWarningwith attribute values.- Overrides:
toStringin classjava.lang.Object- Returns:
- A string representation of the value
-
fullMessage
public java.lang.String fullMessage()
Returns a lazily initialized value of the
fullMessageattribute. Initialized once and only once and stored for subsequent access with proper synchronization. In case of any exception or error thrown by the lazy value initializer, the result will not be memoised (i.e. remembered) and on next call computation will be attempted again.- Specified by:
fullMessagein interfaceSMFParseWarningType- Specified by:
fullMessagein interfaceSMFWarningType- Returns:
- A lazily initialized value of the
fullMessageattribute
-
of
public static SMFParseWarning of(com.io7m.jlexing.core.LexicalPosition<java.net.URI> lexical, java.lang.String message, java.util.Optional<? extends java.lang.Exception> exception)
Construct a new immutableSMFParseWarninginstance.- Parameters:
lexical- The value for thelexicalattributemessage- The value for themessageattributeexception- The value for theexceptionattribute- Returns:
- An immutable SMFParseWarning instance
-
copyOf
public static SMFParseWarning copyOf(SMFParseWarningType instance)
Creates an immutable copy of aSMFParseWarningTypevalue. 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 SMFParseWarning instance
-
builder
public static SMFParseWarning.Builder builder()
Creates a builder forSMFParseWarning.SMFParseWarning.builder() .setLexical(com.io7m.jlexing.core.LexicalPosition<java.net.URI>) // requiredlexical.setMessage(String) // requiredmessage.setException(Exception) // optionalexception.build();- Returns:
- A new SMFParseWarning builder
-
-