org.mule.transformer
Class TransformerWeighting
java.lang.Object
org.mule.transformer.TransformerWeighting
- All Implemented Interfaces:
- java.lang.Comparable
public class TransformerWeighting
- extends java.lang.Object
- implements java.lang.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.
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
TransformerWeighting
public TransformerWeighting(java.lang.Class inputClass,
java.lang.Class outputClass,
Transformer transformer)
getWeighting
protected int getWeighting(int weighting,
java.lang.Class src,
java.lang.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 match exactly, 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 the classes are assignable but no direct interface match, w+3 is returned
If the dest type is Object.class then w+4is returned. This is because matching on object will yeild a lot of options
putting those that use the Object.class generic type should get pushed down the list
If there a super class, that will get matched using the above criteria
If there is no match -1 is returned
- Parameters:
weighting
- an offset weighting, by defualt -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 java.lang.Class getInputClass()
getInputWeighting
public int getInputWeighting()
getOutputClass
public java.lang.Class getOutputClass()
getOutputWeighting
public int getOutputWeighting()
getTransformer
public Transformer getTransformer()
isExactMatch
public boolean isExactMatch()
isNotMatch
public boolean isNotMatch()
compareTo
public int compareTo(java.lang.Object o)
- Specified by:
compareTo
in interface java.lang.Comparable
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
Copyright © 2003-2010 MuleSoft, Inc.. All Rights Reserved.