Class ArrayExpansionPropertyInfo

    • Constructor Detail

      • ArrayExpansionPropertyInfo

        public ArrayExpansionPropertyInfo​(IPropertyInfo delegate)
    • Method Detail

      • isReadable

        public boolean isReadable()
        Specified by:
        isReadable in interface IPropertyInfo
        Returns:
        true if the property is readable given the visibility constraint passed in, false otherwise.
      • isWritable

        public boolean isWritable​(IType whosAskin)
        Specified by:
        isWritable in interface IPropertyInfo
        Parameters:
        whosAskin - The type querying the property writability. For example, passing in the type the property is on will allow properties that have private access in the setter to be written to. Passing in an unrelated type will only allow properties that are to be written to.
        Returns:
        True if the property is writable given the visibility constraint passed in, false otherwise.
      • isWritable

        public boolean isWritable()
        Specified by:
        isWritable in interface IPropertyInfo
        Returns:
        True if the property is writable given the visibility constraint passed in, false otherwise.
      • isDefaultImpl

        public boolean isDefaultImpl()
        Specified by:
        isDefaultImpl in interface IAnnotatedFeatureInfo
        Returns:
        True if this feature is the default implementation e.g., default interface method
      • 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
      • isStatic

        public boolean isStatic()
        Description copied from interface: IAttributedFeatureInfo
        True if this feature is static, meaning the feature is not specific to a particular instance of the feature's containing type.
        Specified by:
        isStatic in interface IAttributedFeatureInfo
      • 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
      • getAnnotations

        public 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.
      • getDeclaredAnnotations

        public List<IAnnotationInfo> getDeclaredAnnotations()
        Specified by:
        getDeclaredAnnotations in interface IAnnotatedFeatureInfo
        Returns:
        A map of AnnotationInfo objects by type representing all the annotations associated with this feature, or an empty map if there are no annotations.
      • 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
      • 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
      • getName

        public String getName()
        Description copied from interface: IFeatureInfo
        Gets the programmatic name or identifier of this feature. Note this name should follow Java identifier naming conventions (alpha-num and underscores, but can't start with a digit).
        Specified by:
        getName in interface IFeatureInfo
      • getDisplayName

        public 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
      • getFeatureType

        public IType getFeatureType()
        Make an array type from the delegate's type, if it's not already an array. The idea with array expansion is to allow access to properties of X from an array of X. We call the accessor For each X in the array we call the
        Specified by:
        getFeatureType in interface IIntrinsicTypeReference