Interface PrismValue

    • Method Detail

      • setPrismContext

        void setPrismContext​(PrismContext prismContext)
      • getUserData

        Object getUserData​(@NotNull
                           @NotNull String key)
      • setUserData

        void setUserData​(@NotNull
                         @NotNull String key,
                         Object value)
      • setParent

        void setParent​(Itemable parent)
      • getPath

        @NotNull
        @NotNull ItemPath getPath()
      • clearParent

        void clearParent()
        Used when we are removing the value from the previous parent. Or when we know that the previous parent will be discarded and we want to avoid unnecessary cloning.
      • recompute

        void recompute()
        Recompute the value or otherwise "initialize" it before adding it to a prism tree. This may as well do nothing if no recomputing or initialization is needed.
      • checkConsistenceInternal

        void checkConsistenceInternal​(Itemable rootItem,
                                      boolean requireDefinitions,
                                      boolean prohibitRaw,
                                      ConsistencyCheckScope scope)
      • representsSameValue

        boolean representsSameValue​(PrismValue other,
                                    boolean lax)
        Returns true if this and other value represent the same value. E.g. if they have the same IDs, OIDs or it is otherwise know that they "belong together" without a deep examination of the values.
        Parameters:
        lax - If we can reasonably assume that the two values belong together even if they don't have the same ID, e.g. if they both belong to single-valued parent items. This is useful e.g. when comparing multi-valued containers. But can cause problems when we want to be sure we are removing the correct value.
      • normalize

        void normalize()
      • createImmutableClone

        PrismValue createImmutableClone()
      • diff

        Collection<? extends ItemDelta> diff​(PrismValue otherValue)
        Assumes matching representations. I.e. it assumes that both this and otherValue represent the same instance of item. E.g. the container with the same ID.
      • getRealClass

        @Nullable
        @Nullable Class<?> getRealClass()
      • getRealValue

        @Nullable
        <T> T getRealValue()
      • getTypeName

        QName getTypeName()
      • isRaw

        boolean isRaw()
      • isEmpty

        boolean isEmpty()
      • toHumanReadableString

        String toHumanReadableString()