Interface DataObjectModification<T extends DataObject>
-
- Type Parameters:
T
- Type of modified object
- All Superinterfaces:
Identifiable<InstanceIdentifier.PathArgument>
public interface DataObjectModification<T extends DataObject> extends Identifiable<InstanceIdentifier.PathArgument>
Modified Data Object. Represents a modification of DataObject, which has a few kinds as indicated bygetModificationType()
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
DataObjectModification.ModificationType
Represents type of modification which has occurred.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @Nullable T
getDataAfter()
Returns after-state of top level container.@Nullable T
getDataBefore()
Returns before-state of top level container.@NonNull Class<T>
getDataType()
Returns type of modified object.InstanceIdentifier.PathArgument
getIdentifier()
@NonNull DataObjectModification.ModificationType
getModificationType()
Returns type of modification.<C extends Augmentation<T> & DataObject>
@Nullable DataObjectModification<C>getModifiedAugmentation(@NonNull Class<C> augmentation)
Returns augmentation child modification ifaugmentation
was modified by this modification.@Nullable DataObjectModification<? extends DataObject>
getModifiedChild(InstanceIdentifier.PathArgument childArgument)
Returns a child modification if a node identified bychildArgument
was modified by this modification.<C extends ChildOf<? super T>>
@Nullable DataObjectModification<C>getModifiedChildContainer(@NonNull Class<C> child)
Returns container child modification ifchild
was modified by this modification.<H extends ChoiceIn<? super T> & DataObject,C extends ChildOf<? super H>>
@Nullable DataObjectModification<C>getModifiedChildContainer(@NonNull Class<H> caseType, @NonNull Class<C> child)
Returns container child modification ifchild
was modified by this modification.<H extends ChoiceIn<? super T> & DataObject,C extends Identifiable<K> & ChildOf<? super H>,K extends Identifier<C>>
@Nullable DataObjectModification<C>getModifiedChildListItem(@NonNull Class<H> caseType, @NonNull Class<C> listItem, @NonNull K listKey)
Returns child list item modification ifchild
was modified by this modification.<N extends Identifiable<K> & ChildOf<? super T>,K extends Identifier<N>>
@Nullable DataObjectModification<N>getModifiedChildListItem(@NonNull Class<N> listItem, @NonNull K listKey)
Returns child list item modification ifchild
was modified by this modification.@NonNull Collection<? extends DataObjectModification<? extends DataObject>>
getModifiedChildren()
Returns unmodifiable collection of modified direct children.<C extends ChildOf<? super T>>
Collection<DataObjectModification<C>>getModifiedChildren(@NonNull Class<C> childType)
Returns child list item modification ifchild
was modified by this modification.<H extends ChoiceIn<? super T> & DataObject,C extends ChildOf<? super H>>
Collection<DataObjectModification<C>>getModifiedChildren(@NonNull Class<H> caseType, @NonNull Class<C> childType)
Returns child list item modification ifchild
was modified by this modification.
-
-
-
Method Detail
-
getIdentifier
InstanceIdentifier.PathArgument getIdentifier()
- Specified by:
getIdentifier
in interfaceIdentifiable<T extends DataObject>
-
getDataType
@NonNull Class<T> getDataType()
Returns type of modified object.- Returns:
- type of modified object.
-
getModificationType
@NonNull DataObjectModification.ModificationType getModificationType()
Returns type of modification.- Returns:
- type Type of performed modification.
-
getDataBefore
@Nullable T getDataBefore()
Returns before-state of top level container. Implementations are encouraged, but not required to provide this state.- Returns:
- State of object before modification. Null if subtree was not present, or the implementation cannot provide the state.
-
getDataAfter
@Nullable T getDataAfter()
Returns after-state of top level container.- Returns:
- State of object after modification. Null if subtree is not present.
-
getModifiedChildren
@NonNull Collection<? extends DataObjectModification<? extends DataObject>> getModifiedChildren()
Returns unmodifiable collection of modified direct children.- Returns:
- unmodifiable collection of modified direct children.
-
getModifiedChildren
<C extends ChildOf<? super T>> Collection<DataObjectModification<C>> getModifiedChildren(@NonNull Class<C> childType)
Returns child list item modification ifchild
was modified by this modification.- Parameters:
childType
- Type of list item - must be list item with key- Returns:
- Modification of
child
ifchild
was modified, null otherwise. - Throws:
IllegalArgumentException
- If suppliedchildType
class is not valid child according to generated model.
-
getModifiedChildren
<H extends ChoiceIn<? super T> & DataObject,C extends ChildOf<? super H>> Collection<DataObjectModification<C>> getModifiedChildren(@NonNull Class<H> caseType, @NonNull Class<C> childType)
Returns child list item modification ifchild
was modified by this modification. This method should be used if the child is defined in a grouping brought into a case inside this object.- Parameters:
caseType
- Case type classchildType
- Type of list item - must be list item with key- Returns:
- Modification of
child
ifchild
was modified, null otherwise. - Throws:
IllegalArgumentException
- If suppliedchildType
class is not valid child according to generated model.
-
getModifiedChildContainer
<H extends ChoiceIn<? super T> & DataObject,C extends ChildOf<? super H>> @Nullable DataObjectModification<C> getModifiedChildContainer(@NonNull Class<H> caseType, @NonNull Class<C> child)
Returns container child modification ifchild
was modified by this modification. This method should be used if the child is defined in a grouping brought into a case inside this object.For accessing all modified list items consider iterating over
getModifiedChildren()
.- Parameters:
caseType
- Case type classchild
- Type of child - must be only container- Returns:
- Modification of
child
ifchild
was modified, null otherwise. - Throws:
IllegalArgumentException
- If suppliedchild
class is not valid child according to generated model.
-
getModifiedChildContainer
<C extends ChildOf<? super T>> @Nullable DataObjectModification<C> getModifiedChildContainer(@NonNull Class<C> child)
Returns container child modification ifchild
was modified by this modification.For accessing all modified list items consider iterating over
getModifiedChildren()
.- Parameters:
child
- Type of child - must be only container- Returns:
- Modification of
child
ifchild
was modified, null otherwise. - Throws:
IllegalArgumentException
- If suppliedchild
class is not valid child according to generated model.
-
getModifiedAugmentation
<C extends Augmentation<T> & DataObject> @Nullable DataObjectModification<C> getModifiedAugmentation(@NonNull Class<C> augmentation)
Returns augmentation child modification ifaugmentation
was modified by this modification.For accessing all modified list items consider iterating over
getModifiedChildren()
.- Parameters:
augmentation
- Type of augmentation - must be only container- Returns:
- Modification of
augmentation
ifaugmentation
was modified, null otherwise. - Throws:
IllegalArgumentException
- If suppliedaugmentation
class is not valid augmentation according to generated model.
-
getModifiedChildListItem
<N extends Identifiable<K> & ChildOf<? super T>,K extends Identifier<N>> @Nullable DataObjectModification<N> getModifiedChildListItem(@NonNull Class<N> listItem, @NonNull K listKey)
Returns child list item modification ifchild
was modified by this modification.- Parameters:
listItem
- Type of list item - must be list item with keylistKey
- List item key- Returns:
- Modification of
child
ifchild
was modified, null otherwise. - Throws:
IllegalArgumentException
- If suppliedlistItem
class is not valid child according to generated model.
-
getModifiedChildListItem
<H extends ChoiceIn<? super T> & DataObject,C extends Identifiable<K> & ChildOf<? super H>,K extends Identifier<C>> @Nullable DataObjectModification<C> getModifiedChildListItem(@NonNull Class<H> caseType, @NonNull Class<C> listItem, @NonNull K listKey)
Returns child list item modification ifchild
was modified by this modification.- Parameters:
listItem
- Type of list item - must be list item with keylistKey
- List item key- Returns:
- Modification of
child
ifchild
was modified, null otherwise. - Throws:
IllegalArgumentException
- If suppliedlistItem
class is not valid child according to generated model.
-
getModifiedChild
@Nullable DataObjectModification<? extends DataObject> getModifiedChild(InstanceIdentifier.PathArgument childArgument)
Returns a child modification if a node identified bychildArgument
was modified by this modification.- Parameters:
childArgument
- Path Argument of child node- Returns:
- Modification of child identified by
childArgument
ifchildArgument
was modified, null otherwise. - Throws:
IllegalArgumentException
- If supplied path argument is not valid child according to generated model.
-
-