test_class.declarator: CODE_ASSERT = "guru.nidi.codeassert."
test_class.modifier: private static final
test_class.original_string: private static final String CODE_ASSERT = "guru.nidi.codeassert.";
test_class.type: String
test_class.var_name: CODE_ASSERT
test_class.declarator: DEP = CODE_ASSERT + "dependency."
test_class.modifier: private static final
test_class.original_string: private static final String DEP = CODE_ASSERT + "dependency.";
test_class.type: String
test_class.var_name: DEP
test_class.declarator: WILDCARD_UNDEFINED = set("guru.nidi.codeassert", ca("config"), ca("dependency"), ca("model"), ca("util"), ca("junit"), dep("a"), dep("b"), dep("c"))
test_class.modifier: private static final
test_class.original_string: private static final Set<String> WILDCARD_UNDEFINED = set("guru.nidi.codeassert", ca("config"), ca("dependency"), ca("model"), ca("util"), ca("junit"), dep("a"), dep("b"), dep("c"));
test_class.type: Set<String>
test_class.var_name: WILDCARD_UNDEFINED
test_class.declarator: WILDCARD_UNDEFINED2 = set("guru.nidi.codeassert", ca("config"), ca("dependency"), ca("model"), ca("util"), ca("junit"), dep("b.a"), dep("b.b"))
test_class.modifier: private static final
test_class.original_string: private static final Set<String> WILDCARD_UNDEFINED2 = set("guru.nidi.codeassert", ca("config"), ca("dependency"), ca("model"), ca("util"), ca("junit"), dep("b.a"), dep("b.b"));
test_class.type: Set<String>
test_class.var_name: WILDCARD_UNDEFINED2
test_class.declarator: UNDEFINED = set("guru.nidi.codeassert", ca("config"), ca("dependency"), ca("junit"), ca("model"), ca("util"), dep("a.a"), dep("a.b"), dep("b.a"), dep("b.b"), dep("c.a"), dep("c.b"))
test_class.modifier: private static final
test_class.original_string: private static final Set<String> UNDEFINED = set("guru.nidi.codeassert", ca("config"), ca("dependency"), ca("junit"), ca("model"), ca("util"), dep("a.a"), dep("a.b"), dep("b.a"), dep("b.b"), dep("c.a"), dep("c.b"));
test_class.type: Set<String>
test_class.var_name: UNDEFINED
test_class.declarator: CYCLES = new HashSet<>(asList(new DependencyMap()
                      .with(1, dep("a.a"), set(dep("a.a.Aa1")), dep("b.a"))
                      .with(1, dep("b.a"), set(dep("b.a.Ba1")), dep("a.a"))
                      .with(1, dep("b.a"), set(dep("b.a.Ba2")), dep("c.a"))
                      .with(1, dep("c.a"), set(dep("c.a.Ca1")), dep("a.a"))
                      .with(1, dep("c.a"), set(dep("c.a.Ca1")), dep("b.a")),
              new DependencyMap()
                      .with(1, dep("c"), set(dep("c.C2"), dep("c.C1")), dep("b"))
                      .with(1, dep("c"), set(dep("c.C1")), dep("a"))
                      .with(1, dep("b"), set(dep("b.B1")), dep("c"))
                      .with(1, dep("b"), set(dep("b.B1")), dep("a"))
                      .with(1, dep("a"), set(dep("a.A1")), dep("c"))))
test_class.modifier: private static final
test_class.original_string: private static final Set<DependencyMap> CYCLES = new HashSet<>(asList(new DependencyMap()
                      .with(1, dep("a.a"), set(dep("a.a.Aa1")), dep("b.a"))
                      .with(1, dep("b.a"), set(dep("b.a.Ba1")), dep("a.a"))
                      .with(1, dep("b.a"), set(dep("b.a.Ba2")), dep("c.a"))
                      .with(1, dep("c.a"), set(dep("c.a.Ca1")), dep("a.a"))
                      .with(1, dep("c.a"), set(dep("c.a.Ca1")), dep("b.a")),
              new DependencyMap()
                      .with(1, dep("c"), set(dep("c.C2"), dep("c.C1")), dep("b"))
                      .with(1, dep("c"), set(dep("c.C1")), dep("a"))
                      .with(1, dep("b"), set(dep("b.B1")), dep("c"))
                      .with(1, dep("b"), set(dep("b.B1")), dep("a"))
                      .with(1, dep("a"), set(dep("a.A1")), dep("c"))));
test_class.type: Set<DependencyMap>
test_class.var_name: CYCLES
test_class.declarator: model
test_class.modifier: private
test_class.original_string: private Model model;
test_class.type: Model
test_class.var_name: model
test_class.file: code-assert-core/src/test/java/guru/nidi/codeassert/dependency/DependencyRulesTest.java
test_class.identifier: DependencyRulesTest
test_case.body: @Test
      void wildcardNotAtEnd() {
          assertThrows(IllegalArgumentException.class, () -> DependencyRule.allowAll("a*b"));
      }
test_case.class_method_signature: DependencyRulesTest.wildcardNotAtEnd()
test_case.full_signature: @Test void wildcardNotAtEnd()
test_case.identifier: wildcardNotAtEnd
test_case.invocations: assertThrows allowAll
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void wildcardNotAtEnd()
focal_class.declarator: LOG = LoggerFactory.getLogger(DependencyRules.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(DependencyRules.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: ANONYMOUS_CLASS = Pattern.compile(".*?\\$\\d+")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern ANONYMOUS_CLASS = Pattern.compile(".*?\\$\\d+");
focal_class.type: Pattern
focal_class.var_name: ANONYMOUS_CLASS
focal_class.declarator: CURRENT = new ThreadLocal<>()
focal_class.modifier: private static final
focal_class.original_string: private static final ThreadLocal<DependencyRules> CURRENT = new ThreadLocal<>();
focal_class.type: ThreadLocal<DependencyRules>
focal_class.var_name: CURRENT
focal_class.declarator: rules
focal_class.modifier: private final
focal_class.original_string: private final List<DependencyRule> rules;
focal_class.type: List<DependencyRule>
focal_class.var_name: rules
focal_class.declarator: allowAll
focal_class.modifier: private final
focal_class.original_string: private final boolean allowAll;
focal_class.type: boolean
focal_class.var_name: allowAll
focal_class.declarator: allowIntraPackageCycles
focal_class.modifier: private final
focal_class.original_string: private final boolean allowIntraPackageCycles;
focal_class.type: boolean
focal_class.var_name: allowIntraPackageCycles
focal_class.declarator: allowIntraPackageDeps
focal_class.modifier: final
focal_class.original_string: final boolean allowIntraPackageDeps;
focal_class.type: boolean
focal_class.var_name: allowIntraPackageDeps
focal_class.file: code-assert-core/src/main/java/guru/nidi/codeassert/dependency/DependencyRules.java
focal_class.identifier: DependencyRules
focal_class.class_method_signature: DependencyRules.DependencyRules(List<DependencyRule> rules, boolean allowAll,
                              boolean allowIntraPackageCycles, boolean allowIntraPackageDeps)
focal_class.full_signature: private  DependencyRules(List<DependencyRule> rules, boolean allowAll,
                              boolean allowIntraPackageCycles, boolean allowIntraPackageDeps)
focal_class.identifier: DependencyRules
focal_class.modifiers: private
focal_class.parameters: (List<DependencyRule> rules, boolean allowAll,
                              boolean allowIntraPackageCycles, boolean allowIntraPackageDeps)
focal_class.signature:  DependencyRules(List<DependencyRule> rules, boolean allowAll,
                              boolean allowIntraPackageCycles, boolean allowIntraPackageDeps)
focal_class.class_method_signature: DependencyRules.allowAll()
focal_class.full_signature: public static DependencyRules allowAll()
focal_class.identifier: allowAll
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: DependencyRules
focal_class.signature: DependencyRules allowAll()
focal_class.class_method_signature: DependencyRules.denyAll()
focal_class.full_signature: public static DependencyRules denyAll()
focal_class.identifier: denyAll
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: DependencyRules
focal_class.signature: DependencyRules denyAll()
focal_class.class_method_signature: DependencyRules.allowIntraPackageCycles(boolean allowIntraPackageCycles)
focal_class.full_signature: public DependencyRules allowIntraPackageCycles(boolean allowIntraPackageCycles)
focal_class.identifier: allowIntraPackageCycles
focal_class.modifiers: public
focal_class.parameters: (boolean allowIntraPackageCycles)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules allowIntraPackageCycles(boolean allowIntraPackageCycles)
focal_class.class_method_signature: DependencyRules.allowIntraPackageDependencies(boolean allowIntraPackageDeps)
focal_class.full_signature: public DependencyRules allowIntraPackageDependencies(boolean allowIntraPackageDeps)
focal_class.identifier: allowIntraPackageDependencies
focal_class.modifiers: public
focal_class.parameters: (boolean allowIntraPackageDeps)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules allowIntraPackageDependencies(boolean allowIntraPackageDeps)
focal_class.class_method_signature: DependencyRules.addRule(String pack)
focal_class.full_signature: public DependencyRule addRule(String pack)
focal_class.identifier: addRule
focal_class.modifiers: public
focal_class.parameters: (String pack)
focal_class.return: DependencyRule
focal_class.signature: DependencyRule addRule(String pack)
focal_class.class_method_signature: DependencyRules.addRule(DependencyRule pack)
focal_class.full_signature: public DependencyRule addRule(DependencyRule pack)
focal_class.identifier: addRule
focal_class.modifiers: public
focal_class.parameters: (DependencyRule pack)
focal_class.return: DependencyRule
focal_class.signature: DependencyRule addRule(DependencyRule pack)
focal_class.class_method_signature: DependencyRules.addExternal(String pack)
focal_class.full_signature: public DependencyRule addExternal(String pack)
focal_class.identifier: addExternal
focal_class.modifiers: public
focal_class.parameters: (String pack)
focal_class.return: DependencyRule
focal_class.signature: DependencyRule addExternal(String pack)
focal_class.class_method_signature: DependencyRules.withRules(String basePackage, DependencyRuler ruler)
focal_class.full_signature: public DependencyRules withRules(String basePackage, DependencyRuler ruler)
focal_class.identifier: withRules
focal_class.modifiers: public
focal_class.parameters: (String basePackage, DependencyRuler ruler)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules withRules(String basePackage, DependencyRuler ruler)
focal_class.class_method_signature: DependencyRules.withAbsoluteRules(DependencyRuler... rulers)
focal_class.full_signature: public DependencyRules withAbsoluteRules(DependencyRuler... rulers)
focal_class.identifier: withAbsoluteRules
focal_class.modifiers: public
focal_class.parameters: (DependencyRuler... rulers)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules withAbsoluteRules(DependencyRuler... rulers)
focal_class.class_method_signature: DependencyRules.withRelativeRules(DependencyRuler... rulers)
focal_class.full_signature: public DependencyRules withRelativeRules(DependencyRuler... rulers)
focal_class.identifier: withRelativeRules
focal_class.modifiers: public
focal_class.parameters: (DependencyRuler... rulers)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules withRelativeRules(DependencyRuler... rulers)
focal_class.class_method_signature: DependencyRules.withExternals(DependencyRuler... rulers)
focal_class.full_signature: public DependencyRules withExternals(DependencyRuler... rulers)
focal_class.identifier: withExternals
focal_class.modifiers: public
focal_class.parameters: (DependencyRuler... rulers)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules withExternals(DependencyRuler... rulers)
focal_class.class_method_signature: DependencyRules.withExternals(String... externals)
focal_class.full_signature: public DependencyRules withExternals(String... externals)
focal_class.identifier: withExternals
focal_class.modifiers: public
focal_class.parameters: (String... externals)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules withExternals(String... externals)
focal_class.class_method_signature: DependencyRules.doWithRules(boolean withRulerName, boolean external, DependencyRuler... rulers)
focal_class.full_signature: private DependencyRules doWithRules(boolean withRulerName, boolean external, DependencyRuler... rulers)
focal_class.identifier: doWithRules
focal_class.modifiers: private
focal_class.parameters: (boolean withRulerName, boolean external, DependencyRuler... rulers)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules doWithRules(boolean withRulerName, boolean external, DependencyRuler... rulers)
focal_class.class_method_signature: DependencyRules.doWithRules(String basePackage, boolean external, DependencyRuler ruler)
focal_class.full_signature: private DependencyRules doWithRules(String basePackage, boolean external, DependencyRuler ruler)
focal_class.identifier: doWithRules
focal_class.modifiers: private
focal_class.parameters: (String basePackage, boolean external, DependencyRuler ruler)
focal_class.return: DependencyRules
focal_class.signature: DependencyRules doWithRules(String basePackage, boolean external, DependencyRuler ruler)
focal_class.class_method_signature: DependencyRules.addRuleToCurrent(DependencyRule rule)
focal_class.full_signature: static DependencyRule addRuleToCurrent(DependencyRule rule)
focal_class.identifier: addRuleToCurrent
focal_class.modifiers: static
focal_class.parameters: (DependencyRule rule)
focal_class.return: DependencyRule
focal_class.signature: DependencyRule addRuleToCurrent(DependencyRule rule)
focal_class.class_method_signature: DependencyRules.initFields(String basePackage, DependencyRuler ruler)
focal_class.full_signature: private List<DependencyRule> initFields(String basePackage, DependencyRuler ruler)
focal_class.identifier: initFields
focal_class.modifiers: private
focal_class.parameters: (String basePackage, DependencyRuler ruler)
focal_class.return: List<DependencyRule>
focal_class.signature: List<DependencyRule> initFields(String basePackage, DependencyRuler ruler)
focal_class.class_method_signature: DependencyRules.initField(String basePackage, DependencyRuler ruler, Field f)
focal_class.full_signature: private DependencyRule initField(String basePackage, DependencyRuler ruler, Field f)
focal_class.identifier: initField
focal_class.modifiers: private
focal_class.parameters: (String basePackage, DependencyRuler ruler, Field f)
focal_class.return: DependencyRule
focal_class.signature: DependencyRule initField(String basePackage, DependencyRuler ruler, Field f)
focal_class.class_method_signature: DependencyRules.deprecationWarnings(String name)
focal_class.full_signature: private void deprecationWarnings(String name)
focal_class.identifier: deprecationWarnings
focal_class.modifiers: private
focal_class.parameters: (String name)
focal_class.return: void
focal_class.signature: void deprecationWarnings(String name)
focal_class.class_method_signature: DependencyRules.postProcessFields(List<DependencyRule> ruleFields, boolean external)
focal_class.full_signature: private void postProcessFields(List<DependencyRule> ruleFields, boolean external)
focal_class.identifier: postProcessFields
focal_class.modifiers: private
focal_class.parameters: (List<DependencyRule> ruleFields, boolean external)
focal_class.return: void
focal_class.signature: void postProcessFields(List<DependencyRule> ruleFields, boolean external)
focal_class.class_method_signature: DependencyRules.addPackages(String base, Class<?> clazz)
focal_class.full_signature: private String addPackages(String base, Class<?> clazz)
focal_class.identifier: addPackages
focal_class.modifiers: private
focal_class.parameters: (String base, Class<?> clazz)
focal_class.return: String
focal_class.signature: String addPackages(String base, Class<?> clazz)
focal_class.class_method_signature: DependencyRules.addPackages(String p1, String p2)
focal_class.full_signature: private String addPackages(String p1, String p2)
focal_class.identifier: addPackages
focal_class.modifiers: private
focal_class.parameters: (String p1, String p2)
focal_class.return: String
focal_class.signature: String addPackages(String p1, String p2)
focal_class.class_method_signature: DependencyRules.isAnonymous(Class<?> clazz)
focal_class.full_signature: private boolean isAnonymous(Class<?> clazz)
focal_class.identifier: isAnonymous
focal_class.modifiers: private
focal_class.parameters: (Class<?> clazz)
focal_class.return: boolean
focal_class.signature: boolean isAnonymous(Class<?> clazz)
focal_class.class_method_signature: DependencyRules.reallySimpleName(Class<?> clazz)
focal_class.full_signature: private String reallySimpleName(Class<?> clazz)
focal_class.identifier: reallySimpleName
focal_class.modifiers: private
focal_class.parameters: (Class<?> clazz)
focal_class.return: String
focal_class.signature: String reallySimpleName(Class<?> clazz)
focal_class.class_method_signature: DependencyRules.camelCaseToDotCase(String s)
focal_class.full_signature: private static String camelCaseToDotCase(String s)
focal_class.identifier: camelCaseToDotCase
focal_class.modifiers: private static
focal_class.parameters: (String s)
focal_class.return: String
focal_class.signature: String camelCaseToDotCase(String s)
focal_class.class_method_signature: DependencyRules.rule(String pattern)
focal_class.full_signature: public DependencyRule rule(String pattern)
focal_class.identifier: rule
focal_class.modifiers: public
focal_class.parameters: (String pattern)
focal_class.return: DependencyRule
focal_class.signature: DependencyRule rule(String pattern)
focal_class.class_method_signature: DependencyRules.processChar(boolean dollarMode, boolean firstChar, char c)
focal_class.full_signature: private static String processChar(boolean dollarMode, boolean firstChar, char c)
focal_class.identifier: processChar
focal_class.modifiers: private static
focal_class.parameters: (boolean dollarMode, boolean firstChar, char c)
focal_class.return: String
focal_class.signature: String processChar(boolean dollarMode, boolean firstChar, char c)
focal_class.class_method_signature: DependencyRules.analyzeRules(Scope<T> scope)
focal_class.full_signature: public Dependencies analyzeRules(Scope<T> scope)
focal_class.identifier: analyzeRules
focal_class.modifiers: public
focal_class.parameters: (Scope<T> scope)
focal_class.return: Dependencies
focal_class.signature: Dependencies analyzeRules(Scope<T> scope)
focal_class.class_method_signature: DependencyRules.mostSpecificUsageMatch(T from, T to, RuleAccessor accessor)
focal_class.full_signature:  int mostSpecificUsageMatch(T from, T to, RuleAccessor accessor)
focal_class.identifier: mostSpecificUsageMatch
focal_class.parameters: (T from, T to, RuleAccessor accessor)
focal_class.return: int
focal_class.signature: int mostSpecificUsageMatch(T from, T to, RuleAccessor accessor)
focal_method.body: public static DependencyRules allowAll() {
          return new DependencyRules(new ArrayList<>(), true, true, true);
      }
focal_method.class_method_signature: DependencyRules.allowAll()
focal_method.full_signature: public static DependencyRules allowAll()
focal_method.identifier: allowAll
focal_method.modifiers: public static
focal_method.parameters: ()
focal_method.return: DependencyRules
focal_method.signature: DependencyRules allowAll()