Class BaseFeatureInfo

    • Field Detail

      • _intrType

        private transient IType _intrType
      • _deprecated

        private volatile java.util.List<IAnnotationInfo> _deprecated
      • _annotations

        private transient volatile java.util.List<IAnnotationInfo> _annotations
      • _internalAPI

        private transient volatile java.lang.Boolean _internalAPI
      • notInternalNs

        private static final java.lang.String[] notInternalNs
    • Constructor Detail

      • BaseFeatureInfo

        public BaseFeatureInfo​(IFeatureInfo container)
      • BaseFeatureInfo

        public BaseFeatureInfo​(IType intrType)
    • Method Detail

      • getDisplayName

        public java.lang.String getDisplayName()
        Description copied from interface: IFeatureInfo
        Gets the display name of this feature. There is no guarantee this display name is localized.
        Specified by:
        getDisplayName in interface IFeatureInfo
      • getDescription

        public java.lang.String getDescription()
        Description copied from interface: IFeatureInfo
        A full description of this feature.
        Specified by:
        getDescription in interface IFeatureInfo
      • getOwnersType

        public IType getOwnersType()
        Description copied from interface: IFeatureInfo
        Get this feature's owner's type. If this feature has no owner, this is the type of the feature itself. Typically, the only kind of feature w/o an owner is an ITypeInfo, so properties, methods, params, etc. s/b considered owned. Hence, ultimately an ITypeInfo's type will be the owner's type for any given feature.
        Specified by:
        getOwnersType in interface IFeatureInfo
      • getAnnotationsOfType

        public java.util.List<IAnnotationInfo> getAnnotationsOfType​(IType type)
        Returns the list of annotations exactly matching the annotation passed in. If the annotation is a sub type of the type passed in, this will not return those annotations.

        This is equivilent to calling getAnnotations().get(type).

        Specified by:
        getAnnotationsOfType in interface IAnnotatedFeatureInfo
        Parameters:
        type - the type to look for
        Returns:
        A list of AnnotationInfo objects having the specified type.
      • hasAnnotation

        public boolean hasAnnotation​(IType type)
        Specified by:
        hasAnnotation in interface IAnnotatedFeatureInfo
        Parameters:
        type - The type of the annotation to test for existence.
        Returns:
        true If this feature has an annotation with of the given type, false otherwise
      • hasDeclaredAnnotation

        public boolean hasDeclaredAnnotation​(IType type)
        Specified by:
        hasDeclaredAnnotation in interface IAnnotatedFeatureInfo
        Parameters:
        type - The type of the annotation to test for existence.
        Returns:
        true If this feature has a declared annotation of the given type, false otherwise
      • getAnnotations

        public java.util.List<IAnnotationInfo> getAnnotations()
        Specified by:
        getAnnotations in interface IAnnotatedFeatureInfo
        Returns:
        A map of AnnotationInfo objects by type representing all the annotations associated with this feature and all the features in its ancestry, or an empty map if there are no annotations.
      • isVisible

        public boolean isVisible​(IScriptabilityModifier constraint)
        Description copied from interface: IAttributedFeatureInfo
        Determine if this feature is visible given a visibility constraint.

        NOTE: implementers of this method are responsible for handling the null case, taken to mean that there are not scriptability constraints.

        Specified by:
        isVisible in interface IAttributedFeatureInfo
      • isInternalAPI

        public boolean isInternalAPI()
      • isDefaultImpl

        public boolean isDefaultImpl()
        Specified by:
        isDefaultImpl in interface IAnnotatedFeatureInfo
        Returns:
        True if this feature is the default implementation e.g., default interface method
      • getDeprecatedReason

        public java.lang.String getDeprecatedReason()
        Specified by:
        getDeprecatedReason in interface IAnnotatedFeatureInfo
        Returns:
        The deprecation message, or null if the feature is not deprecated.
      • getDeprecatedAnnotation

        private java.util.List<IAnnotationInfo> getDeprecatedAnnotation()
      • isPrivate

        public boolean isPrivate()
        Description copied from interface: IAttributedFeatureInfo
        True if this feature is private. Private features are only accessible from within the type that owns them.
        Specified by:
        isPrivate in interface IAttributedFeatureInfo
      • isInternal

        public boolean isInternal()
        Description copied from interface: IAttributedFeatureInfo
        True if this feature is internal. Internal features are accessible from within the type that owns them and from other types in the same namespace.
        Specified by:
        isInternal in interface IAttributedFeatureInfo
      • isProtected

        public boolean isProtected()
        Description copied from interface: IAttributedFeatureInfo
        True if this feature is protected. Protected features are accessible from within the type that owns them and from derived containers.
        Specified by:
        isProtected in interface IAttributedFeatureInfo
      • getSuperAnnotatedElements

        protected java.util.Collection<BaseFeatureInfo> getSuperAnnotatedElements()
      • addAnnotationSuperElement

        private void addAnnotationSuperElement​(java.util.List<BaseFeatureInfo> infos,
                                               IType type)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • compactAndLockList

        static <T> java.util.List<T> compactAndLockList​(java.util.List<T> list)