Class RawRepoShadow

java.lang.Object
com.evolveum.midpoint.schema.util.RawRepoShadow
All Implemented Interfaces:
DebugDumpable, ShortDumpable

@Experimental public class RawRepoShadow extends Object implements DebugDumpable, ShortDumpable
A shadow that was fetched from the repository OR that is going to be (or was) added to the repository. In both cases, the attributes are meant to be "in the repository format", i.e. normalized. Moreover, in the former case, it can be in a not-very-consistent state, for example, with obsolete (or no) attribute definitions. The primary use of this object is to facilitate updating of the shadow in the repository. Then it can be converted into `RepoShadow` (AbstractShadow) that is more consistent and generally useful. As far as the attributes are concerned, they are stored in bean as they were obtained from the repository (in non-raw mode). Concerning their definitions, they may be: - raw (no definition), if coming from 4.8 and earlier version of midPoint, - with dynamic definitions, coming from xsi:type declarations in the full object in repository, - with dynamic definitions, coming from the "ext item dictionary" for index-only attributes (if requested to be read). NOTE: The "raw" does not mean that the shadow was fetched from the repository in raw mode. (Funny enough, if the raw mode was used, the attributes would get their estimated definitions even in 4.8.)
  • Method Details

    • selectLiveShadow

      @Nullable public static @Nullable RawRepoShadow selectLiveShadow(@NotNull @NotNull List<PrismObject<ShadowType>> shadows, Object context)
    • of

      @NotNull public static @NotNull RawRepoShadow of(@NotNull @NotNull ShadowType bean)
    • of

      @NotNull public static @NotNull RawRepoShadow of(@NotNull @NotNull PrismObject<ShadowType> shadowObject)
    • getBean

      @Nullable public static @Nullable ShadowType getBean(@Nullable @Nullable RawRepoShadow repoShadow)
    • getBean

      @NotNull public @NotNull ShadowType getBean()
    • getOid

      @NotNull public @NotNull String getOid()
    • getOid

      public static String getOid(@Nullable @Nullable RawRepoShadow repoShadow)
    • clone

      public RawRepoShadow clone()
      Overrides:
      clone in class Object
    • debugDump

      public String debugDump(int indent)
      Specified by:
      debugDump in interface DebugDumpable
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getName

      public PolyStringType getName()
    • getAttributesContainerValue

      @NotNull public @NotNull PrismContainerValue<?> getAttributesContainerValue()
      If missing, it returns a newly created value (does not put it back into the shadow).
    • getPrismObject

      @NotNull public @NotNull PrismObject<ShadowType> getPrismObject()
    • shortDump

      public void shortDump(StringBuilder sb)
      Description copied from interface: ShortDumpable
      Show the content of the object intended for diagnostics. This method is supposed to append a compact, human-readable output in a single line. Unlike toString() method, there is no requirement to identify the actual class or type of the object. It is assumed that the class/type will be obvious from the context in which the output is used.
      Specified by:
      shortDump in interface ShortDumpable
      Parameters:
      sb - StringBuilder to which to a compact one-line content of the object intended for diagnostics by system administrator should be appended.
    • getResourceOid

      public String getResourceOid()