Package org.bedework.jsforj.impl.values
Class JSOverrideImpl
- java.lang.Object
-
- org.bedework.jsforj.impl.values.JSValueImpl
-
- org.bedework.jsforj.impl.values.JSCalendarObjectImpl
-
- org.bedework.jsforj.impl.values.JSPatchObjectImpl
-
- org.bedework.jsforj.impl.values.JSOverrideImpl
-
- All Implemented Interfaces:
JSCalendarObject,JSOverride,JSPatchObject,JSValue
public class JSOverrideImpl extends JSPatchObjectImpl implements JSOverride
User: mike Date: 10/24/19 Time: 17:18 We handle an override by taking a complete copy of the master and updating it using the recurrence-id value and any changes in the object. If there are updates to the override they will be reflected in the copy. If we output the result as a patch object we reconstruct the changes from the copy.
-
-
Field Summary
-
Fields inherited from class org.bedework.jsforj.impl.values.JSValueImpl
factory, type
-
-
Constructor Summary
Constructors Constructor Description JSOverrideImpl(String typeName, com.fasterxml.jackson.databind.JsonNode node)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleangetExcluded()JSCalendarObjectgetMaster()StringgetUid()voidmarkExcluded()Mark this override as an exclusion.voidpreWrite()Called before we output the object.voidsetMaster(JSCalendarObject master)voidsetUid(String val)-
Methods inherited from class org.bedework.jsforj.impl.values.JSPatchObjectImpl
makePath, newOverrideProperty, setNull, setOverrideProperty, setOverrideProperty, setOverrideProperty, setOverrideProperty
-
Methods inherited from class org.bedework.jsforj.impl.values.JSCalendarObjectImpl
getAlerts, getCategories, getDescription, getExcludedRecurrenceRules, getKeywords, getLinks, getLocations, getOverrides, getParticipants, getRecurrenceId, getRecurrenceRules, getRelatedTo, getReplyTo, getTitle, setDescription, setRecurrenceId, setTitle
-
Methods inherited from class org.bedework.jsforj.impl.values.JSValueImpl
assertArray, assertBooleanNode, assertIntNode, assertObject, assertStringNode, clear, equals, getBooleanProperty, getBooleanValue, getChanged, getFactory, getNode, getObjectType, getOverrideGenerated, getOwner, getParentProperty, getProperties, getProperty, getProperty, getPropertyValue, getStringProperty, getStringValue, getType, getUnsignedIntegerProperty, getValue, hasChanges, hasProperty, isString, makeProperty, makeProperty, markOverrideGenerated, newProperty, removeProperty, setMasterCopy, setOwner, setParentProperty, setProperty, setProperty, setProperty, setProperty, setProperty, writeValue, writeValueAsString, writeValueAsStringFormatted
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.bedework.jsforj.model.JSCalendarObject
getAlerts, getCategories, getDescription, getExcludedRecurrenceRules, getKeywords, getLinks, getLocations, getOverrides, getParticipants, getRecurrenceId, getRecurrenceRules, getRelatedTo, getReplyTo, getTitle, setDescription, setRecurrenceId, setTitle
-
Methods inherited from interface org.bedework.jsforj.model.values.JSPatchObject
newOverrideProperty, setNull, setOverrideProperty, setOverrideProperty, setOverrideProperty, setOverrideProperty
-
Methods inherited from interface org.bedework.jsforj.model.values.JSValue
clear, copy, getBooleanProperty, getBooleanValue, getChanged, getNode, getObjectType, getOverrideGenerated, getOwner, getParentProperty, getProperties, getProperty, getProperty, getPropertyValue, getStringProperty, getStringValue, getType, getUnsignedIntegerProperty, getValue, hasChanges, hasProperty, isString, makeProperty, markOverrideGenerated, newProperty, removeProperty, setProperty, setProperty, setProperty, setProperty, setProperty, writeValue, writeValueAsString, writeValueAsStringFormatted
-
-
-
-
Constructor Detail
-
JSOverrideImpl
public JSOverrideImpl(String typeName, com.fasterxml.jackson.databind.JsonNode node)
-
-
Method Detail
-
setMaster
public void setMaster(JSCalendarObject master)
- Specified by:
setMasterin interfaceJSOverride
-
getMaster
public JSCalendarObject getMaster()
- Specified by:
getMasterin interfaceJSOverride
-
markExcluded
public void markExcluded()
Description copied from interface:JSOverrideMark this override as an exclusion.- Specified by:
markExcludedin interfaceJSOverride
-
getExcluded
public boolean getExcluded()
- Specified by:
getExcludedin interfaceJSOverride- Returns:
- true if this is an exclusion
-
setUid
public void setUid(String val)
- Specified by:
setUidin interfaceJSCalendarObject- Overrides:
setUidin classJSCalendarObjectImpl- Parameters:
val- the uid throws JsforjException if value already present
-
getUid
public String getUid()
- Specified by:
getUidin interfaceJSCalendarObject- Overrides:
getUidin classJSCalendarObjectImpl- Returns:
- uid or null if none set
-
preWrite
public void preWrite()
Description copied from interface:JSValueCalled before we output the object. Objects MUST call all children to allow any processing before output - e.g. generate patches.- Specified by:
preWritein interfaceJSValue- Overrides:
preWritein classJSValueImpl
-
-