Class IvmlComparisonOperationDescriptor
- java.lang.Object
-
- net.ssehub.easy.instantiation.core.model.vilTypes.OperationDescriptor
-
- net.ssehub.easy.instantiation.core.model.vilTypes.configuration.IvmlOperationDescriptor
-
- net.ssehub.easy.instantiation.core.model.vilTypes.configuration.IvmlComparisonOperationDescriptor
-
- All Implemented Interfaces:
IMetaOperation
public class IvmlComparisonOperationDescriptor extends IvmlOperationDescriptor
Implements equality and unequality for the dynamic types.- Author:
- Holger Eichelberger
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.ssehub.easy.instantiation.core.model.vilTypes.OperationDescriptor
OperationDescriptor.AliasType
-
Nested classes/interfaces inherited from interface net.ssehub.easy.instantiation.core.model.vilTypes.IMetaOperation
IMetaOperation.CompatibilityResult
-
-
Field Summary
Fields Modifier and Type Field Description private booleanequality-
Fields inherited from class net.ssehub.easy.instantiation.core.model.vilTypes.OperationDescriptor
CONSTRUCTOR_NAME, EMPTY_PARAMETER
-
-
Constructor Summary
Constructors Constructor Description IvmlComparisonOperationDescriptor()For serialization.IvmlComparisonOperationDescriptor(TypeDescriptor<?> declaringType, java.lang.String name, boolean equality, TypeDescriptor<?> paramType)Creates a new comparison operation descriptor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.ObjectgetValue(java.lang.Object obj)java.lang.Objectinvoke(java.lang.Object... args)Invokes the specified operation.IMetaOperation.CompatibilityResultisCompatible(java.lang.Class<?> retType, java.lang.Object... params)Returns whether the operation represented by this instance is compatible to the given return type and parameters.-
Methods inherited from class net.ssehub.easy.instantiation.core.model.vilTypes.configuration.IvmlOperationDescriptor
convertArgument, createParameterList, getDeclaringTypeNameFallback, getJavaSignature, initializeParameters, initializeReturnType, isFirstParameterOperand, isPlaceholder, isStatic, storeArtifactsBeforeExecution, useGenericParameterAsReturn, useParameterAsReturn
-
Methods inherited from class net.ssehub.easy.instantiation.core.model.vilTypes.OperationDescriptor
acceptsImplicitParameters, acceptsNamedParameters, allowsAggregation, composeExceptionMessage, convertVariables, flatten, getAliasType, getDeclaringType, getDeclaringTypeName, getName, getOperationType, getParameter, getParameter, getParameterCount, getParameterType, getRequiredParameterCount, getReturnType, getSignature, getStoredName, isAlias, isConstructor, isConstructor, isConversion, isGenericCollectionOperation, isIteratingCollectionOperation, isOclCompliant, isOperation, isSameSignature, isTypeSelect, requiresDynamicExpressionProcessing, setCharacteristics, setParameters, setReturnType, specializeFor, throwIncompatibleParameter, toString, trace, useAny, useOperandTypeAsParameter
-
-
-
-
Constructor Detail
-
IvmlComparisonOperationDescriptor
IvmlComparisonOperationDescriptor()
For serialization.
-
IvmlComparisonOperationDescriptor
IvmlComparisonOperationDescriptor(TypeDescriptor<?> declaringType, java.lang.String name, boolean equality, TypeDescriptor<?> paramType)
Creates a new comparison operation descriptor.- Parameters:
declaringType- the declaring typename- the name of the operation (in order to consider aliases)equality- whether equality or unequality shall be handled by the descriptorparamType- the type of the parameter (values must be a subclass ofIVilType)
-
-
Method Detail
-
isCompatible
public IMetaOperation.CompatibilityResult isCompatible(java.lang.Class<?> retType, java.lang.Object... params)
Description copied from interface:IMetaOperationReturns whether the operation represented by this instance is compatible to the given return type and parameters. This method does not consider possible unnamed parameter rather than the underlying Java parameter.- Parameters:
retType- the return type (may be null in order to ignore this parameter)params- the parameters (may be null if there are none, may be classes)- Returns:
- an instance of
IMetaOperation.CompatibilityResultdenoting the actual compatibility level
-
invoke
public java.lang.Object invoke(java.lang.Object... args) throws VilExceptionDescription copied from interface:IMetaOperationInvokes the specified operation. This method does not consider possible unnamed parameter rather than the underlying Java parameter. In case ofIMetaOperation.acceptsNamedParameters()the caller must ensure that the last parameter is amap<String, Object>containing the named parameters.- Parameters:
args- the arguments, in case of non-static operations the first argument must be the object to execute on- Returns:
- the result of the execution
- Throws:
VilException- if the invocation fails- See Also:
IMetaOperation.isCompatible(java.lang.Class<?>, java.lang.Object...)
-
getValue
private static java.lang.Object getValue(java.lang.Object obj)
- Parameters:
obj- the object to be turned into a value- Returns:
- the value, may be
obj
-
-