LightJason - AgentSpeak(L++)
org.lightjason.agentspeak.language.unify.IUnifier Interface Reference

interface of an unification algorithm More...

+ Inheritance diagram for org.lightjason.agentspeak.language.unify.IUnifier:
+ Collaboration diagram for org.lightjason.agentspeak.language.unify.IUnifier:

Classes

interface  IAlgorithm
 unify algorithm More...
 

Public Member Functions

Set< IVariable<?> > unify ( @Nonnull final ILiteral p_source, @Nonnull final ILiteral p_target)
 unifies a literal More...
 
IFuzzyValue< Boolean > unify ( @Nonnull final IContext p_context, @Nonnull final ILiteral p_literal, final long p_variables, @Nonnull final IExpression p_expression, final boolean p_parallel)
 unifies the literal with the expression More...
 

Public Attributes

IUnifier EMPTY
 empty unifier More...
 

Detailed Description

Definition at line 43 of file IUnifier.java.

Member Function Documentation

◆ unify() [1/2]

Set<IVariable<?> > org.lightjason.agentspeak.language.unify.IUnifier.unify ( @Nonnull final ILiteral  p_source,
@Nonnull final ILiteral  p_target 
)
Parameters
p_sourcesource literal (with data)
p_targettarget literal (with variables)
Returns
set with allocated variables
Note
check input literal and result of correct unification

Implemented in org.lightjason.agentspeak.language.unify.CUnifier.

◆ unify() [2/2]

IFuzzyValue<Boolean> org.lightjason.agentspeak.language.unify.IUnifier.unify ( @Nonnull final IContext  p_context,
@Nonnull final ILiteral  p_literal,
final long  p_variables,
@Nonnull final IExpression  p_expression,
final boolean  p_parallel 
)
Parameters
p_contextrunning context
p_literalliteral with variables (creates a deep-copy)
p_variablesnumber of unified variables
p_expressionexpression
p_parallelparallel executon
Returns
boolean if a unify can be done

Implemented in org.lightjason.agentspeak.language.unify.CUnifier.

Member Data Documentation

◆ EMPTY

IUnifier org.lightjason.agentspeak.language.unify.IUnifier.EMPTY
Initial value:
= new IUnifier()
{
@Nonnull
@Override
public final Set<IVariable<?>> unify( @Nonnull final ILiteral p_source, @Nonnull final ILiteral p_target )
{
return Collections.emptySet();
}
@Nonnull
@Override
public final IFuzzyValue<Boolean> unify( @Nonnull final IContext p_context, @Nonnull final ILiteral p_literal, final long p_variables,
@Nonnull final IExpression p_expression, final boolean p_parallel )
{
return CFuzzyValue.from( false );
}
}

Definition at line 48 of file IUnifier.java.