Top Fields Constructors Methods
com.vladsch.flexmark.util.html

public Class MutableAttributeImpl

extends Object
implements MutableAttribute
Class Inheritance
All Implemented Interfaces
com.vladsch.flexmark.util.html.MutableAttribute, com.vladsch.flexmark.util.misc.Mutable, com.vladsch.flexmark.util.html.Attribute, com.vladsch.flexmark.util.misc.Immutable
Imports
com.vladsch.flexmark.util.sequence.SequenceUtils, java.util.LinkedHashMap, .Map, java.util.function.BiConsumer

Field Summary

Modifier and TypeField and Description
private final String
private String
private final char
private final char
private LinkedHashMap<String, String>

Constructor Summary

AccessConstructor and Description
private
MutableAttributeImpl(CharSequence name, CharSequence value, char valueListDelimiter, char valueNameDelimiter)

Method Summary

Modifier and TypeMethod and Description
public boolean
containsValue(CharSequence
name part of the attribute value list or the value if the attribute does not have a value list delimiter
value
)

Implements com.vladsch.flexmark.util.html.MutableAttribute.containsValue.

See if the attribute contains the value (if attribute has list delimiter set) or is equal to the value if no list delimiter is set

public MutableAttribute
public boolean
equals(Object
the reference object with which to compare.
o
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

private void
public String
public String
public char
protected Map<String, String>
public char
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean
public static MutableAttributeImpl
of(Attribute other)

public static MutableAttributeImpl
of(CharSequence attrName)

public static MutableAttributeImpl
of(CharSequence attrName, CharSequence value)

public static MutableAttributeImpl
of(CharSequence attrName, CharSequence value, char valueListDelimiter)

public static MutableAttributeImpl
of(CharSequence attrName, CharSequence value, char valueListDelimiter, char valueNameDelimiter)

public MutableAttributeImpl
removeValue(CharSequence
value or list of values (if attribute has a list delimiter and name delimiter) to remove
value
)

Implements com.vladsch.flexmark.util.html.MutableAttribute.removeValue.

Add a new value or values depending on list and name delimiter settings and value content.

public MutableAttributeImpl
replaceValue(CharSequence
new value
value
)

Implements com.vladsch.flexmark.util.html.MutableAttribute.replaceValue.

Replace the complete value of this attribute by a new value

public void
public MutableAttributeImpl
setValue(CharSequence
value or list of values (if attribute has a list delimiter and name delimiter) to change
value
)

Implements com.vladsch.flexmark.util.html.MutableAttribute.setValue.

Add a new value or values depending on list and name delimiter settings and value content

If the attribute does not have a list delimiter then its value will be set to the given value.

public Attribute
public MutableAttribute
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

protected String

Returns:

string for value of this attribute from map
valueFromMap
()

Return the attribute value string by splicing the values of the map using valueListDelimiter and valueNameDelimiter with replacements of the given name/value if provided.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

nameback to summary
private final String name
valueback to summary
private String value
valueListDelimiterback to summary
private final char valueListDelimiter
valueNameDelimiterback to summary
private final char valueNameDelimiter
valuesback to summary
private LinkedHashMap<String, String> values

Constructor Detail

MutableAttributeImplback to summary
private MutableAttributeImpl(CharSequence name, CharSequence value, char valueListDelimiter, char valueNameDelimiter)

Method Detail

containsValueback to summary
public boolean containsValue(CharSequence value)

Implements com.vladsch.flexmark.util.html.MutableAttribute.containsValue.

Doc from com.vladsch.flexmark.util.html.Attribute.containsValue.

See if the attribute contains the value (if attribute has list delimiter set) or is equal to the value if no list delimiter is set

Parameters
value:CharSequence

name part of the attribute value list or the value if the attribute does not have a value list delimiter

Returns:boolean

true if the attribute contains the valueName

copyback to summary
public MutableAttribute copy()

Implements com.vladsch.flexmark.util.html.MutableAttribute.copy.

Annotations
@Override
equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
forEachValueback to summary
private void forEachValue(CharSequence value, BiConsumer<String, String> consumer)
getNameback to summary
public String getName()

Implements com.vladsch.flexmark.util.html.Attribute.getName.

Annotations
@Override
getValueback to summary
public String getValue()

Implements com.vladsch.flexmark.util.html.Attribute.getValue.

Annotations
@Override
getValueListDelimiterback to summary
public char getValueListDelimiter()

Implements com.vladsch.flexmark.util.html.Attribute.getValueListDelimiter.

Annotations
@Override
getValueMapback to summary
protected Map<String, String> getValueMap()
Annotations
@SuppressWarnings:WeakerAccess
getValueNameDelimiterback to summary
public char getValueNameDelimiter()

Implements com.vladsch.flexmark.util.html.Attribute.getValueNameDelimiter.

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
isNonRenderingback to summary
public boolean isNonRendering()

Implements com.vladsch.flexmark.util.html.Attribute.isNonRendering.

Annotations
@Override
ofback to summary
public static MutableAttributeImpl of(Attribute other)
ofback to summary
public static MutableAttributeImpl of(CharSequence attrName)
ofback to summary
public static MutableAttributeImpl of(CharSequence attrName, CharSequence value)
ofback to summary
public static MutableAttributeImpl of(CharSequence attrName, CharSequence value, char valueListDelimiter)
ofback to summary
public static MutableAttributeImpl of(CharSequence attrName, CharSequence value, char valueListDelimiter, char valueNameDelimiter)
removeValueback to summary
public MutableAttributeImpl removeValue(CharSequence value)

Implements com.vladsch.flexmark.util.html.MutableAttribute.removeValue.

Doc from com.vladsch.flexmark.util.html.Attribute.removeValue.

Add a new value or values depending on list and name delimiter settings and value content.

If the attribute does not have a list delimiter and its value is equal to the given value then its value is set to empty

If the attribute has a list delimiter but not name delimiter then value will be split by list delimiter and any values in attribute's value list will be removed

If the attribute has a list delimiter and a name delimiter then value will be split by list delimiter and only the name portion of each value will be used for removal from the attribute's value list

Parameters
value:CharSequence

value or list of values (if attribute has a list delimiter and name delimiter) to remove

Returns:MutableAttributeImpl

new attribute or same attribute if nothing changed or attribute is mutable

replaceValueback to summary
public MutableAttributeImpl replaceValue(CharSequence value)

Implements com.vladsch.flexmark.util.html.MutableAttribute.replaceValue.

Doc from com.vladsch.flexmark.util.html.Attribute.replaceValue.

Replace the complete value of this attribute by a new value

Parameters
value:CharSequence

new value

Returns:MutableAttributeImpl

new attribute or same attribute if nothing changed or attribute is mutable

resetToValuesMapback to summary
public void resetToValuesMap()
setValueback to summary
public MutableAttributeImpl setValue(CharSequence value)

Implements com.vladsch.flexmark.util.html.MutableAttribute.setValue.

Doc from com.vladsch.flexmark.util.html.Attribute.setValue.

Add a new value or values depending on list and name delimiter settings and value content

If the attribute does not have a list delimiter then its value will be set to the given value.

If the attribute has a list delimiter but not name delimiter then value will be split by list delimiter and all values will be added to the attribute's value list. New ones added at the end, old ones left as is.

If the attribute has a list delimiter and a name delimiter then value will be split by list delimiter and the name portion of each value will be used to find duplicates whose value will be replaced. New ones added at the end, old ones left where they are but with a new value.

Parameters
value:CharSequence

value or list of values (if attribute has a list delimiter and name delimiter) to change

Returns:MutableAttributeImpl

new attribute or same attribute if nothing changed or attribute is mutable

toImmutableback to summary
public Attribute toImmutable()

Implements com.vladsch.flexmark.util.misc.Mutable.toImmutable.

Annotations
@Override
toMutableback to summary
public MutableAttribute toMutable()

Implements com.vladsch.flexmark.util.misc.Immutable.toMutable.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
valueFromMapback to summary
protected String valueFromMap()

Return the attribute value string by splicing the values of the map using valueListDelimiter and valueNameDelimiter with replacements of the given name/value if provided. If the name is not empty and value is empty then this will be removed from the final string

Returns:String

string for value of this attribute from map

Annotations
@SuppressWarnings:WeakerAccess