Package com.iizix.text
Class KStringTag<TARGET>
java.lang.Object
com.iizix.text.KStringTag<TARGET>
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
KStringHTMLTag,KStringPLAINTag
Base class for Tags (HTMLTag and PlainTag) in KString.
- Author:
- Christopher Mindus
Nested Class Summary
Nested ClassesConstructor Summary
ConstructorsConstructorDescriptionKStringTag(KStringTag.Type type, int position, LinkedHashMap<String, String> attributes) Constructs a tag.Method Summary
Modifier and TypeMethodDescriptionfinal voidappendHTMLAttributes(StringBuilder useme, IKStringInfoProvider provider) Appends the attributes for HTML raw format.final voidappendHTMLAttributes(StringBuilder useme, IKStringInfoProvider provider, String... possibleAttributeList) Appends the attributes for HTML raw format that are present in the "possibleAttributeList".final voidappendHTMLAttributesSkip(StringBuilder useme, IKStringInfoProvider provider, String... skipAttributes) Appends the attributes for HTML raw format.final voidAppends the attributes for PLAIN raw format.static voidappendPLAINValue(StringBuilder useme, String value) Appends a string as quoted value.protected KStringTag<TARGET> clone()Cloneable.protected voidDisposes of the tag reference, used in the Editor for references.booleanEquality check: tags must be of same class (i.e.booleanequalsName(KStringTag<?> kst) Checks for the same "name" (tag ordinal and closing tag for HTML, tag name for PLAIN).final StringgetAttribute(String attributeName) Gets the attribute value.abstract StringgetHTMLString(StringBuilder useme, IKStringInfoProvider provider) Gets the string representation of this tag in the HTML format, i.e.abstract StringgetHTMLTagText(StringBuilder useme, IKStringInfoProvider provider) Gets the "unparsed" string representation of this tag in the HTML format, i.e.abstract StringgetPLAINString(StringBuilder useme, IKStringInfoProvider provider) Gets the string representation of this tag in the PLAIN format, i.e.abstract StringgetPLAINTagText(StringBuilder useme) Gets the "unparsed" string representation of this tag in the PLAIN format, i.e.Gets the reference of this tag.Class<?> Returns the reference class used by this tag, e.g.Gets the validation error.final IPropReference.RefTypeGets the reference type.final intGets the ending position of this tag in the source string.final intGets the length of this tag in the source string.final intGets the source position of this tag in the source string.final KStringTag.TypegetType()Gets the type of this tag.abstract booleanChecks if this tag is of reference type, i.e.booleanisReferenceValid(KStringHolder holder, GProp<?> gp) Validates a reference.booleanisRefreshRequired(GEvent event, TARGET target) Upon a property event received on the target reference property (or its children), this method verifies if the event would affect the KString contents needing to be refreshed.booleanisRefreshRequired(RefreshEvent event) Returns whether the tags needs a refresh for the specified refresh type.voidresolve(KStringHolder holder, boolean doReCheck, GEvent triggerEvent) Resolves the reference.final booleansetAttribute(String attributeName, String value) Updates an attribute value or removes it.abstract booleansetReference(String ref) Updates the tag reference.final voidsetSourceLocation(int startPos, int endPos) Sets the source position for the tag.voidverify(KStringHolder holder, PropVerification verification, String location, int id) Verifies the KString for a KString holder.abstract booleanChecks if this string will lose formatting when translated to PLAIN.
Constructor Details
KStringTag
Constructs a tag.- Parameters:
type- The connector type.position- The position in the character based and parsed string.attributes- The attributes for the tag.
Method Details
disposeTagReference
protected void disposeTagReference()Disposes of the tag reference, used in the Editor for references.setSourceLocation
Sets the source position for the tag. This can only be done once, next time an IllegalArgumentException is thrown.- Parameters:
startPos- The start position in the source string.endPos- The end position in the source string.- Throws:
IllegalArgumentException
getType
Gets the type of this tag.getSourcePosition
public final int getSourcePosition()Gets the source position of this tag in the source string.- Returns:
- The start position of the tag.
getSourceEndPosition
public final int getSourceEndPosition()Gets the ending position of this tag in the source string.- Returns:
- The end position of the tag.
getSourceLength
public final int getSourceLength()Gets the length of this tag in the source string.- Returns:
- The length in characters of the tag.
isReferenceTag
public abstract boolean isReferenceTag()Checks if this tag is of reference type, i.e. for HTML, the tags A, IMG, IZ. For PLAIN KString type, this method always returns true.getReference
Gets the reference of this tag.- Returns:
- The reference, or null for none.
setReference
Updates the tag reference.- Parameters:
ref- The new reference.- Returns:
- true if changed, false for no change.
getReferenceClass
Returns the reference class used by this tag, e.g. KStringProp for text table, or the image class IImageTarget.class.- Returns:
- The class, or null for no references.
appendPLAINAttributes
Appends the attributes for PLAIN raw format.appendPLAINValue
Appends a string as quoted value. The chosen quote can be either single- or double-quote, whichever is shortest.appendHTMLAttributes
Appends the attributes for HTML raw format.appendHTMLAttributesSkip
public final void appendHTMLAttributesSkip(StringBuilder useme, IKStringInfoProvider provider, String... skipAttributes) Appends the attributes for HTML raw format.appendHTMLAttributes
public final void appendHTMLAttributes(StringBuilder useme, IKStringInfoProvider provider, String... possibleAttributeList) Appends the attributes for HTML raw format that are present in the "possibleAttributeList".getAttribute
Gets the attribute value.- Parameters:
attributeName- The name of the attribute.- Returns:
- The value, or null if the attribute is not present.
setAttribute
Updates an attribute value or removes it.- Parameters:
attributeName- The attribute name.value- The value to set, or null to remove the attribute.- Returns:
- true if changed, false otherwise.
willLoseFormatting
public abstract boolean willLoseFormatting()Checks if this string will lose formatting when translated to PLAIN. Note that translating PLAIN to HTML never loses formatting.getPLAINTagText
Gets the "unparsed" string representation of this tag in the PLAIN format, i.e. a HTML tag will reformat or translate itself for PLAIN, or vice versa.getHTMLTagText
Gets the "unparsed" string representation of this tag in the HTML format, i.e. a PLAIN tag will reformat or translate itself for HTML, or vice versa.- Parameters:
useme- Temporary StringBuilder for any use.provider- The information provider or null for none.
getPLAINString
Gets the string representation of this tag in the PLAIN format, i.e. a HTML tag will reformat or translate itself for PLAIN, or vice versa.- Parameters:
useme- Temporary StringBuilder for any use.provider- The information provider or null for none.
getHTMLString
Gets the string representation of this tag in the HTML format, i.e. a PLAIN tag will reformat or translate itself for HTML, or vice versa.- Parameters:
useme- Temporary StringBuilder for any use.provider- The information provider or null for none.
equals
Equality check: tags must be of same class (i.e. exactly same type) and have the same attributes.equalsName
Checks for the same "name" (tag ordinal and closing tag for HTML, tag name for PLAIN).clone
Cloneable.getReferenceType
Gets the reference type.- Returns:
- The reference type (shown for reference view in the Designer).
isReferenceValid
Validates a reference.- Parameters:
holder- The KString holder.gp- The reference found.- Returns:
- Validates the reference.
getReferenceError
Gets the validation error.- Returns:
- null for OK, otherwise the error text.
resolve
Resolves the reference.- Parameters:
holder- The KString holder.doReCheck- Rechecks the references.triggerEvent- The trigger event.
verify
Verifies the KString for a KString holder.- Parameters:
holder- The KString holder.verification- The property verification class.location- The location.id- The tag ID.
isRefreshRequired
Returns whether the tags needs a refresh for the specified refresh type.- Parameters:
event- The refresh event.- Returns:
- true for refresh needed, false otherwise.
isRefreshRequired
Upon a property event received on the target reference property (or its children), this method verifies if the event would affect the KString contents needing to be refreshed.- Parameters:
event- The event.target- The target property for the tag.- Returns:
- true to refresh the KString, false not to.