static int parseFlags(char[] data, int start, int len) throws PatternSyntaxException { boolean enable = true; int result = DEFAULT; for (int i = 0; i < len; i++) { char c = data[start + i]; switch (c) { case '+': enable = true; break; case '-': enable = false; break; default: int flag = getFlag(c); if (enable) result |= flag; else result &= (~flag); } } return result; }
static int parseFlags(char[] data, int start, int len) throws PatternSyntaxException { boolean enable = true; int result = DEFAULT; for (int i = 0; i < len; i++) { char c = data[start + i]; switch (c) { case '+': enable = true; break; case '-': enable = false; break; default: int flag = getFlag(c); if (enable) result |= flag; else result &= (~flag); } } return result; }
private static int parseFlags(String flags) throws PatternSyntaxException { boolean enable = true; int len = flags.length(); int result = DEFAULT; for (int i = 0; i < len; i++) { char c = flags.charAt(i); switch (c) { case '+': enable = true; break; case '-': enable = false; break; default: int flag = getFlag(c); if (enable) result |= flag; else result &= (~flag); } } return result; }
private static int parseFlags(String flags) throws PatternSyntaxException { boolean enable = true; int len = flags.length(); int result = DEFAULT; for (int i = 0; i < len; i++) { char c = flags.charAt(i); switch (c) { case '+': enable = true; break; case '-': enable = false; break; default: int flag = getFlag(c); if (enable) result |= flag; else result &= (~flag); } } return result; }