Class RightCurlyCheck

    • Field Detail

      • MSG_KEY_LINE_BREAK_BEFORE

        public static final java.lang.String MSG_KEY_LINE_BREAK_BEFORE
        A key is pointing to the warning message text in "messages.properties" file.
        See Also:
        Constant Field Values
      • MSG_KEY_LINE_ALONE

        public static final java.lang.String MSG_KEY_LINE_ALONE
        A key is pointing to the warning message text in "messages.properties" file.
        See Also:
        Constant Field Values
      • MSG_KEY_LINE_SAME

        public static final java.lang.String MSG_KEY_LINE_SAME
        A key is pointing to the warning message text in "messages.properties" file.
        See Also:
        Constant Field Values
      • MSG_KEY_LINE_NEW

        public static final java.lang.String MSG_KEY_LINE_NEW
        A key is pointing to the warning message text in "messages.properties" file.
        See Also:
        Constant Field Values
      • shouldStartLine

        private boolean shouldStartLine
        Do we need to check if right curly starts line.
    • Constructor Detail

      • RightCurlyCheck

        public RightCurlyCheck()
    • Method Detail

      • setOption

        public void setOption​(java.lang.String optionStr)
        Sets the option to enforce.
        Parameters:
        optionStr - string to decode option from
        Throws:
        java.lang.IllegalArgumentException - if unable to decode
      • setShouldStartLine

        public void setShouldStartLine​(boolean flag)
        Does the check need to check if right curly starts line.
        Parameters:
        flag - new value of this property.
      • getDefaultTokens

        public int[] getDefaultTokens()
        Description copied from class: AbstractCheck
        Returns the default token a check is interested in. Only used if the configuration for a check does not define the tokens.
        Specified by:
        getDefaultTokens in class AbstractCheck
        Returns:
        the default tokens
        See Also:
        TokenTypes
      • getAcceptableTokens

        public int[] getAcceptableTokens()
        Description copied from class: AbstractCheck
        The configurable token set. Used to protect Checks against malicious users who specify an unacceptable token set in the configuration file. The default implementation returns the check's default tokens.
        Specified by:
        getAcceptableTokens in class AbstractCheck
        Returns:
        the token set this check is designed for.
        See Also:
        TokenTypes
      • getRequiredTokens

        public int[] getRequiredTokens()
        Description copied from class: AbstractCheck
        The tokens that this check must be registered for.
        Specified by:
        getRequiredTokens in class AbstractCheck
        Returns:
        the token set this must be registered for.
        See Also:
        TokenTypes
      • validate

        private java.lang.String validate​(RightCurlyCheck.Details details)
        Does general validation.
        Parameters:
        details - for validation.
        Returns:
        violation message or empty string if there was not violation during validation.
      • shouldHaveLineBreakBefore

        private static boolean shouldHaveLineBreakBefore​(RightCurlyOption bracePolicy,
                                                         RightCurlyCheck.Details details)
        Checks whether a right curly should have a line break before.
        Parameters:
        bracePolicy - option for placing the right curly brace.
        details - details for validation.
        Returns:
        true if a right curly should have a line break before.
      • shouldBeOnSameLine

        private static boolean shouldBeOnSameLine​(RightCurlyOption bracePolicy,
                                                  RightCurlyCheck.Details details)
        Checks that a right curly should be on the same line as the next statement.
        Parameters:
        bracePolicy - option for placing the right curly brace
        details - Details for validation
        Returns:
        true if a right curly should be alone on a line.
      • shouldBeAloneOnLine

        private static boolean shouldBeAloneOnLine​(RightCurlyOption bracePolicy,
                                                   RightCurlyCheck.Details details)
        Checks that a right curly should be alone on a line.
        Parameters:
        bracePolicy - option for placing the right curly brace
        details - Details for validation
        Returns:
        true if a right curly should be alone on a line.
      • shouldBeAloneOnLineWithAloneOption

        private static boolean shouldBeAloneOnLineWithAloneOption​(RightCurlyCheck.Details details)
        Whether right curly should be alone on line when ALONE option is used.
        Parameters:
        details - details for validation.
        Returns:
        true, if right curly should be alone on line when ALONE option is used.
      • shouldBeAloneOnLineWithAloneOrSinglelineOption

        private static boolean shouldBeAloneOnLineWithAloneOrSinglelineOption​(RightCurlyCheck.Details details)
        Whether right curly should be alone on line when ALONE_OR_SINGLELINE option is used.
        Parameters:
        details - details for validation.
        Returns:
        true, if right curly should be alone on line when ALONE_OR_SINGLELINE option is used.
      • isOnStartOfLine

        private static boolean isOnStartOfLine​(RightCurlyCheck.Details details,
                                               java.lang.String targetSourceLine)
        Whether right curly brace starts target source line.
        Parameters:
        details - Details of right curly brace for validation
        targetSourceLine - source line to check
        Returns:
        true if right curly brace starts target source line.
      • isAloneOnLine

        private static boolean isAloneOnLine​(RightCurlyCheck.Details details)
        Checks whether right curly is alone on a line.
        Parameters:
        details - for validation.
        Returns:
        true if right curly is alone on a line.
      • isSingleLineBlock

        private static boolean isSingleLineBlock​(RightCurlyCheck.Details details)
        Checks whether block has a single-line format.
        Parameters:
        details - for validation.
        Returns:
        true if block has single-line format.
      • isAnonInnerClassInit

        private static boolean isAnonInnerClassInit​(DetailAST lcurly)
        Checks whether lcurly is in anonymous inner class initialization.
        Parameters:
        lcurly - left curly token.
        Returns:
        true if lcurly begins anonymous inner class initialization.
      • isEmptyBody

        private static boolean isEmptyBody​(DetailAST lcurly)
        Checks if definition body is empty.
        Parameters:
        lcurly - left curly.
        Returns:
        true if definition body is empty.
      • hasLineBreakBefore

        private static boolean hasLineBreakBefore​(DetailAST rightCurly)
        Checks if right curly has line break before.
        Parameters:
        rightCurly - right curly token.
        Returns:
        true, if right curly has line break before.