org.mule.transformer
Class TransformerWeighting
java.lang.Object
org.mule.transformer.TransformerWeighting
- All Implemented Interfaces:
- Comparable
public class TransformerWeighting
- extends Object
- implements Comparable
Given a Transformer
instance, an input class and output class
this object will create a weighting for a transformer. This weighthing can be used compare one transformer with
another, which can be useful for choosing a transformer to use given the input class and required output class.
TransformerWeighting
public TransformerWeighting(Class inputClass,
Class outputClass,
Transformer transformer)
getWeighting
protected int getWeighting(int weighting,
Class src,
Class dest)
- This is a very basic algorithm for creating a match rating for two classes. An offset weighting
can also be passed in. Where w is weighting,
if the classes are not assignable but the src is a primitive type, the w for the corresponding object type will be returned, otherwise return -1
if the classes match exactly and dest is Object then w+3 is returned
if the classes match exactly and dest is not Object then w+1 is returned
if the classes are assignable and there is a direct equality to an interface on the class, w+2 is returned,
If there a super class, that will get matched using the above criteria but using w = w + 1
If there is no match -1 is returned
- Parameters:
weighting
- an offset weighting, by default -1 should be usedsrc
- the src class being matcheddest
- the destination class to match to
- Returns:
- a weighting where 0 would be an exact match, -1 would be no match and a positive integer that defines how close the match is
getInputClass
public Class getInputClass()
getInputWeighting
public int getInputWeighting()
getOutputClass
public Class getOutputClass()
getOutputWeighting
public int getOutputWeighting()
getTransformer
public Transformer getTransformer()
isExactMatch
public boolean isExactMatch()
isNotMatch
public boolean isNotMatch()
compareTo
public int compareTo(Object o)
- Specified by:
compareTo
in interface Comparable
equals
public boolean equals(Object o)
- Overrides:
equals
in class Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class Object
toString
public String toString()
- Overrides:
toString
in class Object
Copyright © 2003-2013 MuleSoft, Inc.. All Rights Reserved.