public abstract class AbstractAttributeMap
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<IAttribute,IAttributeInstance> |
attributes |
protected java.util.Map<java.lang.String,IAttributeInstance> |
attributesByName |
protected com.google.common.collect.Multimap<IAttribute,IAttribute> |
descendantsByParent |
Constructor and Description |
---|
AbstractAttributeMap() |
Modifier and Type | Method and Description |
---|---|
void |
applyAttributeModifiers(com.google.common.collect.Multimap<java.lang.String,AttributeModifier> modifiers) |
protected abstract IAttributeInstance |
createInstance(IAttribute attribute) |
java.util.Collection<IAttributeInstance> |
getAllAttributes() |
IAttributeInstance |
getAttributeInstance(IAttribute attribute) |
IAttributeInstance |
getAttributeInstanceByName(java.lang.String attributeName) |
void |
onAttributeModified(IAttributeInstance instance) |
IAttributeInstance |
registerAttribute(IAttribute attribute) |
void |
removeAttributeModifiers(com.google.common.collect.Multimap<java.lang.String,AttributeModifier> modifiers) |
protected final java.util.Map<IAttribute,IAttributeInstance> attributes
protected final java.util.Map<java.lang.String,IAttributeInstance> attributesByName
protected final com.google.common.collect.Multimap<IAttribute,IAttribute> descendantsByParent
public IAttributeInstance getAttributeInstance(IAttribute attribute)
@Nullable public IAttributeInstance getAttributeInstanceByName(java.lang.String attributeName)
public IAttributeInstance registerAttribute(IAttribute attribute)
protected abstract IAttributeInstance createInstance(IAttribute attribute)
public java.util.Collection<IAttributeInstance> getAllAttributes()
public void onAttributeModified(IAttributeInstance instance)
public void removeAttributeModifiers(com.google.common.collect.Multimap<java.lang.String,AttributeModifier> modifiers)
public void applyAttributeModifiers(com.google.common.collect.Multimap<java.lang.String,AttributeModifier> modifiers)