Class Subsystem


  • public abstract class Subsystem
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ROOT_SUBSYSTEM_TAG  
    • Constructor Summary

      Constructors 
      Constructor Description
      Subsystem()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Two subsystems are equivalent if they have the same tag, and set of parents
      abstract java.lang.String getCategory()
      A unique category used for enabling/disabling groups of tagging instructions This is a identifier key to assert that tagging instructions with interdependencies are enabled/disabled together to maintain the consistency of the subsystem hierarchy.
      abstract java.lang.String getCategoryDescription()
      This is a human readable description of the category of subsystem tagging instructions
      abstract java.lang.String getDescription()
      A short description of the subsystem
      java.lang.String[] getMethods()
      The set of methods that should be tagged in the subsystem Note: This finer grained resolution is for specifying individual methods in a namespace.
      abstract java.lang.String getName()
      The display name of the subsystem
      java.lang.String[] getNamespaces()
      The set of namespaces/folders that should be tagged in the subsystem Format: "PackageName" Example: "java.lang"
      java.lang.String[] getParentTags()
      Defines the parent tags in the subsystem tag hierarchy Subsystems may have multiple parents and multiple children
      abstract java.lang.String getTag()
      Defines the subystem tag
      java.lang.String[] getTypes()
      The set of types that should be tagged in the subsystem Note: This finer grained resolution is for specifying individual types in a namespace.
      int hashCode()
      Two subsystems are equivalent if they have the same tag, and set of parents
      void tagSubsystem()
      Adds the subystem tag if it does not exist
      java.lang.String toString()  
      void untagSubsystem()
      Removes the subystem tag if it exists
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • ROOT_SUBSYSTEM_TAG

        public static java.lang.String ROOT_SUBSYSTEM_TAG
    • Constructor Detail

      • Subsystem

        public Subsystem()
    • Method Detail

      • getName

        public abstract java.lang.String getName()
        The display name of the subsystem
        Returns:
      • getDescription

        public abstract java.lang.String getDescription()
        A short description of the subsystem
        Returns:
      • getCategory

        public abstract java.lang.String getCategory()
        A unique category used for enabling/disabling groups of tagging instructions This is a identifier key to assert that tagging instructions with interdependencies are enabled/disabled together to maintain the consistency of the subsystem hierarchy.
        Returns:
      • getCategoryDescription

        public abstract java.lang.String getCategoryDescription()
        This is a human readable description of the category of subsystem tagging instructions
        Returns:
      • getTag

        public abstract java.lang.String getTag()
        Defines the subystem tag
        Returns:
      • getParentTags

        public java.lang.String[] getParentTags()
        Defines the parent tags in the subsystem tag hierarchy Subsystems may have multiple parents and multiple children
        Returns:
      • getNamespaces

        public java.lang.String[] getNamespaces()
        The set of namespaces/folders that should be tagged in the subsystem Format: "PackageName" Example: "java.lang"
        Returns:
      • getTypes

        public java.lang.String[] getTypes()
        The set of types that should be tagged in the subsystem Note: This finer grained resolution is for specifying individual types in a namespace. If the type is already covered by the namespace it is not necessary to specify it here. Format: "PackageName.TypeName" Example: "java.lang.Math"
        Returns:
      • getMethods

        public java.lang.String[] getMethods()
        The set of methods that should be tagged in the subsystem Note: This finer grained resolution is for specifying individual methods in a namespace. If the type is already covered by the namespace it is not necessary to specify it here. Format: "PackageName.TypeName MethodName" Example: "java.lang.Math random"
        Returns:
      • tagSubsystem

        public void tagSubsystem()
        Adds the subystem tag if it does not exist
      • untagSubsystem

        public void untagSubsystem()
        Removes the subystem tag if it exists
      • toString

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

        public int hashCode()
        Two subsystems are equivalent if they have the same tag, and set of parents
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Two subsystems are equivalent if they have the same tag, and set of parents
        Overrides:
        equals in class java.lang.Object