MCPcopy Create free account
hub / github.com/PCGen/pcgen / ConvertingFacetView

Class ConvertingFacetView

code/src/java/pcgen/cdom/meta/ConvertingFacetView.java:26–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24import pcgen.cdom.facet.base.AbstractItemConvertingFacet;
25
26public class ConvertingFacetView<S, D> implements FacetView<Object>
27{
28
29 private AbstractItemConvertingFacet<S, D> facet;
30
31 ConvertingFacetView(AbstractItemConvertingFacet<S, D> facet)
32 {
33 this.facet = facet;
34 }
35
36 @Override
37 public Collection<? extends Object> getSet(CharID id)
38 {
39 Collection<S> sources = facet.getSourceObjects(id);
40 Collection<SourceDest> list = new ArrayList<>(sources.size());
41 for (S src : sources)
42 {
43 D dest = facet.getResultFor(id, src);
44 list.add(new SourceDest(src, dest));
45 }
46 return list;
47 }
48
49 @Override
50 public Collection<Object> getSources(CharID id, Object obj)
51 {
52 return facet.getSourcesFor(id, ((SourceDest) obj).getSource());
53 }
54
55 @Override
56 public Object[] getChildren()
57 {
58 return facet.getDataFacetChangeListeners();
59 }
60
61 @Override
62 public String getDescription()
63 {
64 return facet.getClass().getSimpleName();
65 }
66
67 @Override
68 public boolean represents(Object src)
69 {
70 return facet.equals(src);
71 }
72
73 @Override
74 public String toString()
75 {
76 return "Facet: " + facet.getClass().getSimpleName();
77 }
78
79 private final class SourceDest
80 {
81 private final S source;
82 private final D destination;
83

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected