Class TypeDefinitionImpl

All Implemented Interfaces:
Definition, Freezable, MutableDefinition, PrismContextSensitive, Revivable, SmartVisitable<Definition>, TypeDefinition, Visitable<Definition>, DebugDumpable, Serializable, Cloneable
Direct Known Subclasses:
ComplexTypeDefinitionImpl, SimpleTypeDefinitionImpl

public abstract class TypeDefinitionImpl extends DefinitionImpl implements TypeDefinition
See Also:
  • Field Details

    • compileTimeClass

      protected Class<?> compileTimeClass
    • instantiationOrder

      protected Integer instantiationOrder
    • serializationProxy

      protected final transient SerializationProxy serializationProxy
  • Method Details

    • useSerializationProxy

      protected static boolean useSerializationProxy(boolean localeEnabled)
    • getSuperType

      public QName getSuperType()
      Description copied from interface: TypeDefinition
      Name of super type of this complex type definition. E.g. c:ObjectType is a super type for c:FocusType which is a super type for c:UserType. Or (more complex example) ri:ShadowAttributesType is a super type of ri:AccountObjectClass. (TODO is this really true?)
      Specified by:
      getSuperType in interface TypeDefinition
    • setSuperType

      public void setSuperType(QName superType)
    • getStaticSubTypes

      @NotNull public @NotNull Collection<TypeDefinition> getStaticSubTypes()
      Description copied from interface: TypeDefinition
      Subtypes - but only these that are a part of the static schema. A little bit experimental. :)
      Specified by:
      getStaticSubTypes in interface TypeDefinition
    • addStaticSubType

      public void addStaticSubType(TypeDefinition subtype)
    • getInstantiationOrder

      public Integer getInstantiationOrder()
      Specified by:
      getInstantiationOrder in interface TypeDefinition
    • setInstantiationOrder

      public void setInstantiationOrder(Integer instantiationOrder)
    • getCompileTimeClass

      public Class<?> getCompileTimeClass()
      Description copied from interface: TypeDefinition
      Returns compile-time class, if this type has any. For example, UserType.class, ObjectType.class, ExtensionType.class.
      Specified by:
      getCompileTimeClass in interface TypeDefinition
    • setCompileTimeClass

      public void setCompileTimeClass(Class<?> compileTimeClass)
    • copyDefinitionDataFrom

      protected void copyDefinitionDataFrom(TypeDefinition source)
    • canRepresent

      public boolean canRepresent(QName typeName)
      Specified by:
      canRepresent in interface TypeDefinition
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class DefinitionImpl
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class DefinitionImpl
    • isAssignableFrom

      @Experimental public boolean isAssignableFrom(TypeDefinition other, SchemaRegistry schemaRegistry)
      Crawls up the type hierarchy and looks for type name equivalence.
      Specified by:
      isAssignableFrom in interface TypeDefinition
      Returns:
      True if variables of this type can be assigned value of specified other type, i.e. if this type is equal or supertype of the other type.
    • writeReplace

      protected Object writeReplace()