See: Description
| Interface | Description |
|---|---|
| ERTagNormalizer |
ERTagNormalizer provides an interface for processing tags to clean them up prior to persisting them.
|
| Class | Description |
|---|---|
| ERDefaultTagNormalizer |
ERDefaultTagNormalizer trims and lowercases all tags.
|
| ERTaggable<T extends ERXGenericRecord> |
ERTaggable provides a wrapper around a taggable EO, extending it with
tagging-related methods.
|
| ERTaggableEntity<T extends ERXGenericRecord> |
ERTaggableEntity provides entity-level tag management and fetching methods.
|
| ERTaggablePrincipal |
ERTaggable Framework Principal
|
Lets take the example where your model "MyModel" has a "Person" entity that you want to support tagging on.
public class MyModel0 extends ERTaggableEntity0 {
public MyModel0() {
super(Person.ENTITY_NAME);
}
}
ERTaggableEntity.registerTaggable(Person.ENTITY_NAME);
public ERTaggable<Person> taggable() {
return ERTaggable.taggable(this);
}
public static ERTaggableEntity<Person> taggableEntity() {
return ERTaggableEntity.taggableEntity(Person.ENTITY_NAME);
}
Person mike = Person.createPerson(editingContext, "Mike Schrag");
ERTaggable<Person> taggableMike = mike.taggable();
taggableMike.addTags("mike employee important");
NSArray<Person> matchingPeople = Person.taggableEntity().fetchTaggedWith(editingContext, "employee");
NSDictionary<EOEntity, NSArray<? extends ERXGenericRecord>> matchingItems = ERTaggableEntity.fetchAllTaggedWith(editingContext, "mike");
If you choose to deviate from the "magical" route described above, you can provide several override hooks:
Copyright © 2002 – 2020 Project Wonder.