public class ScribeIndex extends Object
Manages a listing of component and property scribes. This is useful for injecting the scribes of any experimental components or properties you have defined into a reader or writer object. The same object instance can be reused and injected into multiple reader/writer classes.
Example:
//init the index
ScribeIndex index = new ScribeIndex();
index.register(new CustomPropertyScribe());
index.register(new AnotherCustomPropertyScribe());
index.register(new CustomComponentScribe());
//inject into a reader class
ICalReader textReader = new ICalReader(...);
textReader.setRegistrar(index);
List<ICalendar> icals = new ArrayList<ICalendar>();
ICalendar ical;
while ((ical = textReader.readNext()) != null){
icals.add(ical);
}
//inject the same instance in another reader/writer class
JCalWriter writer = new JCalWriter(...);
writer.setRegistrar(index);
for (ICalendar ical : icals){
writer.write(ical);
}
| Constructor and Description |
|---|
ScribeIndex() |
| Modifier and Type | Method and Description |
|---|---|
ICalComponentScribe<? extends ICalComponent> |
getComponentScribe(Class<? extends ICalComponent> clazz)
Gets a component scribe by class.
|
ICalComponentScribe<? extends ICalComponent> |
getComponentScribe(ICalComponent component)
Gets the appropriate component scribe for a given component instance.
|
ICalComponentScribe<? extends ICalComponent> |
getComponentScribe(String componentName)
Gets a component scribe by name.
|
static ICalendarScribe |
getICalendarScribe()
Convenience method for getting the scribe of the root iCalendar component
("VCALENDAR").
|
ICalPropertyScribe<? extends ICalProperty> |
getPropertyScribe(Class<? extends ICalProperty> clazz)
Gets a property scribe by class.
|
ICalPropertyScribe<? extends ICalProperty> |
getPropertyScribe(ICalProperty property)
Gets the appropriate property scribe for a given property instance.
|
ICalPropertyScribe<? extends ICalProperty> |
getPropertyScribe(QName qname)
Gets a property scribe by XML local name and namespace.
|
ICalPropertyScribe<? extends ICalProperty> |
getPropertyScribe(String propertyName)
Gets a property scribe by name.
|
void |
hasScribesFor(ICalendar ical)
Checks to see if this scribe index has scribes registered for all of the
components/properties in an iCalendar object.
|
void |
register(ICalComponentScribe<? extends ICalComponent> scribe)
Registers a component scribe.
|
void |
register(ICalPropertyScribe<? extends ICalProperty> scribe)
Registers a property scribe.
|
void |
unregister(ICalComponentScribe<? extends ICalComponent> scribe)
Unregisters a component scribe.
|
void |
unregister(ICalPropertyScribe<? extends ICalProperty> scribe)
Unregisters a property scribe
|
public ScribeIndex()
public ICalComponentScribe<? extends ICalComponent> getComponentScribe(String componentName)
componentName - the component name (e.g. "VEVENT")RawComponentScribe if not foundpublic ICalPropertyScribe<? extends ICalProperty> getPropertyScribe(String propertyName)
propertyName - the property name (e.g. "VERSION")RawPropertyScribe if not foundpublic ICalComponentScribe<? extends ICalComponent> getComponentScribe(Class<? extends ICalComponent> clazz)
clazz - the component classpublic ICalPropertyScribe<? extends ICalProperty> getPropertyScribe(Class<? extends ICalProperty> clazz)
clazz - the property classpublic ICalComponentScribe<? extends ICalComponent> getComponentScribe(ICalComponent component)
component - the component instancepublic ICalPropertyScribe<? extends ICalProperty> getPropertyScribe(ICalProperty property)
property - the property instancepublic ICalPropertyScribe<? extends ICalProperty> getPropertyScribe(QName qname)
qname - the XML local name and namespaceXmlScribe if not foundpublic void register(ICalComponentScribe<? extends ICalComponent> scribe)
scribe - the scribe to registerpublic void register(ICalPropertyScribe<? extends ICalProperty> scribe)
scribe - the scribe to registerpublic void unregister(ICalComponentScribe<? extends ICalComponent> scribe)
scribe - the scribe to unregisterpublic void unregister(ICalPropertyScribe<? extends ICalProperty> scribe)
scribe - the scribe to unregisterpublic void hasScribesFor(ICalendar ical)
ical - the iCalendar objectIllegalArgumentException - if the scribe index is missing scribes
for one or more properties/components.public static ICalendarScribe getICalendarScribe()
Copyright © 2013-2014 Michael Angstadt. All Rights Reserved.