24 package org.lightjason.agentspeak.language.instantiable;
36 import javax.annotation.Nonnull;
37 import java.util.Collections;
38 import java.util.HashMap;
39 import java.util.LinkedList;
40 import java.util.List;
43 import java.util.stream.Collectors;
44 import java.util.stream.Stream;
81 m_action = Collections.unmodifiableList( p_action );
82 m_annotation = Collections.unmodifiableMap( p_annotation.stream().collect( HashMap::new, ( m, s ) -> m.put( s.id(), s ), Map::putAll ) );
92 public final boolean equals(
final Object p_object )
114 @Nonnull
final List<ITerm> p_argument, @Nonnull
final List<ITerm> p_return
126 : l_result.stream().collect( p_context.agent().fuzzy().getKey() );
137 @SuppressWarnings(
"ResultOfMethodCallIgnored" )
140 final List<IFuzzyValue<Boolean>> l_result = Collections.synchronizedList(
new LinkedList<>() );
146 l_result.add( l_return );
147 return p_context.agent().
fuzzy().getValue().defuzzify( l_return );
166 .map( i -> i.execute(
false, p_context, Collections.<
ITerm>emptyList(),
new LinkedList<>() ) )
167 .collect( Collectors.toList() );
final Map< IAnnotation.EType, IAnnotation<?> > m_annotation
map with annotation (enum value for getting annotation object)
base structure of instantiable elements
final boolean equals(final Object p_object)
double fuzzy()
returns the fuzziness
Stream< IVariable<?> > variables()
returns a stream with all used variables
List< IFuzzyValue< Boolean > > executesequential(final IContext p_context)
execute plan sequential
internal execution interface
static< N > IFuzzyValue< N > from( @Nonnull final N p_value)
factory
interface for (instantiable) plans and logical-rules
common structure for execution definition
Stream< IVariable<?> > variables()
returns a stream with all used variables
execution context with local data
final int m_hash
hash code
final List< IExecution > m_action
action list
IFuzzyValue< Boolean > execute(final boolean p_parallel, @Nonnull final IContext p_context, @Nonnull final List< ITerm > p_argument, @Nonnull final List< ITerm > p_return)
defines a plan-body operation
result for an immutable fuzzy value
List< IFuzzyValue< Boolean > > executeparallel(final IContext p_context)
execute plan parallel
final IContext instantiate( @Nonnull final IAgent<?> p_agent, @Nonnull final Stream< IVariable<?>> p_variable)
creates an individual execution context
IBaseInstantiable(final List< IExecution > p_action, final Set< IAnnotation<?>> p_annotation, final int p_hash)
ctor
static final long serialVersionUID
serial id
static IContext instantiate( @Nonnull final IInstantiable p_instance, @Nonnull final IAgent<?> p_agent, @Nonnull final Stream< IVariable<?>> p_variable)
creates the instantiate execution context with default variables