public final class CategoryAttributeImpl extends AttributeImpl implements CategoryAttribute
CategoryAttribute
.Modifier and Type | Field and Description |
---|---|
protected CategoryPath |
categoryPath
The category path instance.
|
protected HashMap<Class<? extends CategoryProperty>,CategoryProperty> |
properties
A map of properties associated to the current category path.
|
enableBackwards
Constructor and Description |
---|
CategoryAttributeImpl()
Construct an empty CategoryAttributeImpl.
|
CategoryAttributeImpl(CategoryPath categoryPath)
Construct a CategoryAttributeImpl with the given CategoryPath.
|
Modifier and Type | Method and Description |
---|---|
void |
addProperty(CategoryProperty property)
Add a property.
|
void |
clear()
Clears the values in this AttributeImpl and resets it to its
default value.
|
void |
clearProperties()
Clear all properties.
|
CategoryAttribute |
clone()
Shallow clone.
|
void |
copyTo(AttributeImpl target)
Copies the values from this Attribute into the passed-in
target attribute.
|
boolean |
equals(Object o) |
CategoryPath |
getCategoryPath()
Returns the category path value.
|
CategoryProperty |
getProperty(Class<? extends CategoryProperty> propertyClass)
Get a property of a certain property class.
|
CategoryProperty |
getProperty(Collection<Class<? extends CategoryProperty>> propertyClasses)
Get a property of one of given property classes.
|
Set<Class<? extends CategoryProperty>> |
getPropertyClasses()
Get all the active property classes.
|
int |
hashCode() |
void |
remove(Class<? extends CategoryProperty> propertyClass)
Remove an property of a certain property class.
|
void |
set(CategoryAttribute other)
Set the content of this
CategoryAttribute from another
CategoryAttribute object. |
void |
setCategoryPath(CategoryPath cp)
Sets the category path value of this attribute.
|
reflectAsString, reflectWith, toString
protected CategoryPath categoryPath
protected HashMap<Class<? extends CategoryProperty>,CategoryProperty> properties
public CategoryAttributeImpl()
public CategoryAttributeImpl(CategoryPath categoryPath)
categoryPath
- The category path to use.public void set(CategoryAttribute other)
CategoryAttribute
CategoryAttribute
from another
CategoryAttribute
object.set
in interface CategoryAttribute
other
- The CategoryAttribute
to take the content from.public CategoryPath getCategoryPath()
getCategoryPath
in interface CategoryAttribute
public void setCategoryPath(CategoryPath cp)
CategoryAttribute
setCategoryPath
in interface CategoryAttribute
cp
- A category path. May not be null.public void addProperty(CategoryProperty property) throws UnsupportedOperationException
CategoryAttribute
CategoryAttribute.getProperty(Class)
with this property class .addProperty
in interface CategoryAttribute
property
- The property to add.UnsupportedOperationException
- When attempting to add a property of a class that was added
before and merge is prohibited.public CategoryProperty getProperty(Class<? extends CategoryProperty> propertyClass)
CategoryAttribute
getProperty
in interface CategoryAttribute
propertyClass
- The required property class.public CategoryProperty getProperty(Collection<Class<? extends CategoryProperty>> propertyClasses)
CategoryAttribute
getProperty
in interface CategoryAttribute
propertyClasses
- The property classes.public void copyTo(AttributeImpl target)
AttributeImpl
copyTo
in class AttributeImpl
public CategoryAttribute clone()
AttributeImpl
clone
in interface CategoryAttribute
clone
in class AttributeImpl
CategoryAttribute
.public void clear()
AttributeImpl
clear
in interface CategoryAttribute
clear
in class AttributeImpl
public void clearProperties()
CategoryAttribute
clearProperties
in interface CategoryAttribute
public Set<Class<? extends CategoryProperty>> getPropertyClasses()
CategoryAttribute
getPropertyClasses
in interface CategoryAttribute
null
if
there are no properties.public void remove(Class<? extends CategoryProperty> propertyClass)
CategoryAttribute
remove
in interface CategoryAttribute
propertyClass
- The required property class.