1 /*
2 * Logback: the reliable, generic, fast and flexible logging framework.
3 * Copyright (C) 1999-2026, QOS.ch. All rights reserved.
4 *
5 * This program and the accompanying materials are dual-licensed under
6 * either the terms of the Eclipse Public License v2.0 as published by
7 * the Eclipse Foundation
8 *
9 * or (per the licensee's choosing)
10 *
11 * under the terms of the GNU Lesser General Public License version 2.1
12 * as published by the Free Software Foundation.
13 */
14 package ch.qos.logback.core.model.processor;
15
16 import ch.qos.logback.core.model.Model;
17
18 /**
19 * Defines the relation between a depender (of type Model) and a dependency name (String).
20 *
21 * Note that a depender may have multiple dependencies but
22 * {@link DependencyDefinition} applies to just one dependency relation.
23 *
24 * @author ceki
25 *
26 */
27 public class DependencyDefinition {
28
29 // depender depends on dependency (new terminology)
30 // dependency synonym dependee
31 // depender synonym dependent
32
33 // OLD terminology: dependee (=dependency), dependent(=depender)
34 //
35 // NEW terminology: *dependent*: a component of type Model which depends on a *dependency*
36 Model depender;
37 // dependee or dependency: the string name of a component depended upon by the depender of type Model
38 String dependency;
39
40 public DependencyDefinition(Model depender, String dependency) {
41 this.depender = depender;
42 this.dependency = dependency;
43
44
45 }
46
47 public String getDependency() {
48 return dependency;
49 }
50
51 public Model getDepender() {
52 return depender;
53 }
54
55
56 @Override
57 public String toString() {
58 return "DependencyDefinition{" +
59 "depender=" + depender +
60 ", dependency='" + dependency + '\'' +
61 '}';
62 }
63 }