Class DefinitionImpl

All Implemented Interfaces:
Definition, Definition.DefinitionMutator, Freezable, PrismLifecycleDefinition, PrismLifecycleDefinition.Mutable, PrismPresentationDefinition, PrismPresentationDefinition.Mutable, Revivable, SchemaLookup.Aware, SmartVisitable<Definition>, Visitable<Definition>, DebugDumpable, Serializable, Cloneable
Direct Known Subclasses:
ItemDefinitionImpl, TypeDefinitionImpl

public abstract class DefinitionImpl extends SchemaRegistryStateAware implements Definition, Definition.DefinitionMutator
Abstract definition in the schema. This is supposed to be a superclass for all definitions. It defines common properties for all definitions. The definitions represent data structures of the schema. Therefore instances of Java objects from this class represent specific definitions from the schema, not specific properties or objects. E.g the definitions does not have any value. To transform definition to a real property or object use the explicit instantiate() methods provided in the definition classes. E.g. the instantiate() method will create instance of Property using appropriate PropertyDefinition. The convenience methods in Schema are using this abstract class to find appropriate definitions easily.
Author:
Radovan Semancik
See Also:
  • Field Details

    • typeName

      @NotNull protected final @NotNull QName typeName
      Final because it's sometimes used as a key in maps; moreover, it forms an identity of the definition somehow.
    • isAbstract

      protected boolean isAbstract
    • displayHint

      protected DisplayHint displayHint
    • displayName

      protected String displayName
    • displayOrder

      protected Integer displayOrder
    • help

      protected String help
    • documentation

      protected String documentation
    • deprecated

      protected boolean deprecated
    • deprecatedSince

      protected String deprecatedSince
    • removed

      protected boolean removed
    • removedSince

      protected String removedSince
    • plannedRemoval

      protected String plannedRemoval
    • experimental

      protected boolean experimental
    • elaborate

      protected boolean elaborate
    • isRuntimeSchema

      protected boolean isRuntimeSchema
      This means that this particular definition (of an item or of a type) is part of the runtime schema, e.g. extension schema, resource schema or connector schema or something like that. I.e. it is not defined statically.
    • emphasized

      protected boolean emphasized
      Set true for definitions that are more important than others and that should be emphasized during presentation. E.g. the emphasized definitions will always be displayed in the user interfaces (even if they are empty), they will always be included in the dumps, etc.
  • Method Details