Class TypeDefinitionImpl

    • Field Detail

      • compileTimeClass

        protected Class<?> compileTimeClass
      • instantiationOrder

        protected Integer instantiationOrder
    • Method Detail

      • 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)
      • addStaticSubType

        public void addStaticSubType​(TypeDefinition subtype)
      • 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)
      • 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.