Interface PrismContainerDefinition<C extends Containerable>

    • Method Detail

      • getCompileTimeClass

        Class<C> getCompileTimeClass()
        Static (compile-time) class holding the container values. May be null. (Let's not mark it as @Nullable to avoid lots of warnings.)
      • getComplexTypeDefinition

        ComplexTypeDefinition getComplexTypeDefinition()
        Definition of the container values. May be null. (Let's not mark it as @Nullable to avoid lots of warnings.) Note that individual values can hold their own (more specific) complex type definitions.
      • getItemNames

        default Collection<ItemName> getItemNames()
        Returns names of items that are defined within this container definition. They do NOT include items that can be put into instantiated container by means of "xsd:any" mechanism.
      • isCompletelyDefined

        default boolean isCompletelyDefined()
        Returns true if the instantiated container can contain only items that are explicitly defined here.
      • getPropertyDefinitions

        List<PrismPropertyDefinition<?>> getPropertyDefinitions()
        Returns set of property definitions. The set contains all property definitions of all types that were parsed. Order of definitions is insignificant. The returned set is immutable! All changes may be lost.
        Returns:
        set of definitions
      • replaceDefinition

        void replaceDefinition​(QName itemName,
                               ItemDefinition<?> newDefinition)
        TODO
      • isEmpty

        boolean isEmpty()
        TODO
      • canRepresent

        boolean canRepresent​(@NotNull
                             @NotNull QName type)
        TODO
      • getTypeClass

        Class<C> getTypeClass()
        Description copied from interface: Definition
        Returns a compile-time class that is used to represent items. E.g. returns String, Integer, subclasses of Objectable and Containerable and so on.
        Specified by:
        getTypeClass in interface Definition
      • structuredType

        default Optional<ComplexTypeDefinition> structuredType()
        Description copied from interface: ItemDefinition
        Returns complex type definition of item, if underlying value is possible structured. NOTE: This seems weird, since properties and references are simple values, but actually object reference is serialized as structured value and some of properties are also.
        Specified by:
        structuredType in interface ItemDefinition<C extends Containerable>