blob: 2961768a7decc8a891eec7e0014099d318f65181 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.component.chain.model;
import com.yahoo.component.AbstractComponent;
import com.yahoo.component.ComponentId;
/**
* For using non-component model classes with ComponentRegistry.
*
* @author Tony Vaagenes
*/
public final class ComponentAdaptor<T> extends AbstractComponent {
public final T model;
@SuppressWarnings("deprecation")
public ComponentAdaptor(ComponentId globalComponentId, T model) {
super(globalComponentId);
this.model = model;
}
public static <T> ComponentAdaptor<T> create(ComponentId globalComponentId, T model) {
return new ComponentAdaptor<>(globalComponentId, model);
}
// For testing
T model() {
return model;
}
}
|