public class CxxLinkGroupMappingTargetCoercer extends Object implements TypeCoercer<Object,CxxLinkGroupMappingTarget>
TypeCoercer
for CxxLinkGroupMappingTarget
.
This TypeCoercer
is used to convert a single link group mapping (e.g.,
("//Some:Target", "tree")
) to a CxxLinkGroupMappingTarget
.
TypeCoercer.Traversal
Constructor and Description |
---|
CxxLinkGroupMappingTargetCoercer(TypeCoercer<UnconfiguredBuildTarget,BuildTarget> buildTargetTypeCoercer,
TypeCoercer<Object,CxxLinkGroupMappingTarget.Traversal> traversalCoercer,
TypeCoercer<Pattern,Pattern> patternTypeCoercer) |
Modifier and Type | Method and Description |
---|---|
CxxLinkGroupMappingTarget |
coerce(CellNameResolver cellRoots,
ProjectFilesystem filesystem,
ForwardRelativePath pathRelativeToProjectRoot,
TargetConfiguration targetConfiguration,
TargetConfiguration hostConfiguration,
Object object) |
Object |
coerceToUnconfigured(CellNameResolver cellRoots,
ProjectFilesystem filesystem,
ForwardRelativePath pathRelativeToProjectRoot,
Object object)
Coerce to a value for unconfigured graph.
|
com.google.common.reflect.TypeToken<CxxLinkGroupMappingTarget> |
getOutputType() |
com.google.common.reflect.TypeToken<Object> |
getUnconfiguredType() |
boolean |
hasElementClass(Class<?>... types)
Returns whether the leaf nodes of this type coercer outputs value that is an instance of the
given class or its subclasses.
|
void |
traverse(CellNameResolver cellRoots,
CxxLinkGroupMappingTarget object,
TypeCoercer.Traversal traversal)
Traverse an object guided by this TypeCoercer.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
checkOutputAssignableTo, checkUnconfiguredAssignableTo, coerceBoth, concat, supportsConcatenation, unconfiguredToConfiguredCoercionIsIdentity
public CxxLinkGroupMappingTargetCoercer(TypeCoercer<UnconfiguredBuildTarget,BuildTarget> buildTargetTypeCoercer, TypeCoercer<Object,CxxLinkGroupMappingTarget.Traversal> traversalCoercer, TypeCoercer<Pattern,Pattern> patternTypeCoercer)
public com.google.common.reflect.TypeToken<CxxLinkGroupMappingTarget> getOutputType()
getOutputType
in interface TypeCoercer<Object,CxxLinkGroupMappingTarget>
public com.google.common.reflect.TypeToken<Object> getUnconfiguredType()
getUnconfiguredType
in interface TypeCoercer<Object,CxxLinkGroupMappingTarget>
public boolean hasElementClass(Class<?>... types)
TypeCoercer
hasElementClass
in interface TypeCoercer<Object,CxxLinkGroupMappingTarget>
public void traverse(CellNameResolver cellRoots, CxxLinkGroupMappingTarget object, TypeCoercer.Traversal traversal)
TypeCoercer
#{link Traversal#traverse} function will be called once for the object. If the object is a collection or map, it will also recursively traverse all elements of the map.
traverse
in interface TypeCoercer<Object,CxxLinkGroupMappingTarget>
public Object coerceToUnconfigured(CellNameResolver cellRoots, ProjectFilesystem filesystem, ForwardRelativePath pathRelativeToProjectRoot, Object object) throws CoerceFailedException
TypeCoercer
coerceToUnconfigured
in interface TypeCoercer<Object,CxxLinkGroupMappingTarget>
CoerceFailedException
public CxxLinkGroupMappingTarget coerce(CellNameResolver cellRoots, ProjectFilesystem filesystem, ForwardRelativePath pathRelativeToProjectRoot, TargetConfiguration targetConfiguration, TargetConfiguration hostConfiguration, Object object) throws CoerceFailedException
coerce
in interface TypeCoercer<Object,CxxLinkGroupMappingTarget>
CoerceFailedException
- Input object cannot be coerced into the given type.