LightJason - AgentSpeak(L++)
CValueAnnotation.java
Go to the documentation of this file.
1
/*
2
* @cond LICENSE
3
* ######################################################################################
4
* # LGPL License #
5
* # #
6
* # This file is part of the LightJason AgentSpeak(L++) #
7
* # Copyright (c) 2015-19, LightJason (info@lightjason.org) #
8
* # This program is free software: you can redistribute it and/or modify #
9
* # it under the terms of the GNU Lesser General Public License as #
10
* # published by the Free Software Foundation, either version 3 of the #
11
* # License, or (at your option) any later version. #
12
* # #
13
* # This program is distributed in the hope that it will be useful, #
14
* # but WITHOUT ANY WARRANTY; without even the implied warranty of #
15
* # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
16
* # GNU Lesser General Public License for more details. #
17
* # #
18
* # You should have received a copy of the GNU Lesser General Public License #
19
* # along with this program. If not, see http://www.gnu.org/licenses/ #
20
* ######################################################################################
21
* @endcond
22
*/
23
24
package
org.lightjason.agentspeak.language.instantiable.plan.annotation;
25
26
import
org
.
lightjason
.
agentspeak
.
language
.
variable
.
CConstant
;
27
import
org
.
lightjason
.
agentspeak
.
language
.
variable
.
IVariable
;
28
29
import
javax.annotation.Nonnull;
30
import
java.text.MessageFormat;
31
import
java.util.stream.Stream;
32
33
37
public
final
class
CValueAnnotation
<T>
extends
IBaseAnnotation
<T>
38
{
42
private
final
String
m_name
;
43
51
public
CValueAnnotation
( @Nonnull
final
EType
p_type, @Nonnull
final
String p_name,
final
T p_data )
52
{
53
super( p_type, p_data );
54
m_name = p_name;
55
}
56
57
@Override
58
public
final
String
toString
()
59
{
60
return
MessageFormat.format(
"{0}({1}, {1})"
,
m_type
, m_name,
m_value
);
61
}
62
63
@Override
64
public
final
int
hashCode
()
65
{
66
return
m_type
.hashCode() ^ m_name.hashCode();
67
}
68
69
@Override
70
public
final
boolean
equals
(
final
Object p_object )
71
{
72
return
( p_object instanceof
IAnnotation<?>
) && ( this.
hashCode
() == p_object.hashCode() );
73
}
74
75
@Nonnull
76
@Override
77
public
final
Stream<IVariable<?>>
variables
()
78
{
79
return
Stream.of(
new
CConstant<>
( m_name,
m_value
) );
80
}
81
}
org.lightjason.agentspeak
org.lightjason.agentspeak.language.instantiable.plan.annotation.CValueAnnotation
number annotation
Definition:
CValueAnnotation.java:37
org.lightjason.agentspeak.language.instantiable.plan.annotation.CValueAnnotation.m_name
final String m_name
name of the annotation
Definition:
CValueAnnotation.java:42
org.lightjason.agentspeak.language.instantiable.plan.annotation.CValueAnnotation.variables
final Stream< IVariable<?> > variables()
returns a stream of variables
Definition:
CValueAnnotation.java:77
org.lightjason.agentspeak.language.variable.IVariable
variable defintion
Definition:
IVariable.java:39
org.lightjason.agentspeak.language.instantiable.plan.annotation.IBaseAnnotation.m_type
final EType m_type
annotation type
Definition:
IBaseAnnotation.java:49
org.lightjason
org.lightjason.agentspeak.language
Definition:
language/CCommon.java:24
org
org.lightjason.agentspeak.language.instantiable.plan.annotation.CValueAnnotation.hashCode
final int hashCode()
Definition:
CValueAnnotation.java:64
org.lightjason.agentspeak.language.instantiable.plan.annotation.IAnnotation.EType
annotation types
Definition:
IAnnotation.java:70
org.lightjason.agentspeak.language.instantiable.plan.annotation.IBaseAnnotation.m_value
final T m_value
number data
Definition:
IBaseAnnotation.java:45
org.lightjason.agentspeak.language.instantiable.plan.annotation.CValueAnnotation.toString
final String toString()
Definition:
CValueAnnotation.java:58
org.lightjason.agentspeak.language.instantiable.plan.annotation.CValueAnnotation.equals
final boolean equals(final Object p_object)
Definition:
CValueAnnotation.java:70
org.lightjason.agentspeak.language.instantiable.plan.annotation.CValueAnnotation.CValueAnnotation
CValueAnnotation( @Nonnull final EType p_type, @Nonnull final String p_name, final T p_data)
ctor
Definition:
CValueAnnotation.java:51
org.lightjason.agentspeak.language.instantiable.plan.annotation.IAnnotation
annotation interface
Definition:
IAnnotation.java:40
org.lightjason.agentspeak.language.variable.CConstant
constant definition
Definition:
CConstant.java:40
org.lightjason.agentspeak.language.instantiable.plan.annotation.IBaseAnnotation
annotation base
Definition:
IBaseAnnotation.java:40
org.lightjason.agentspeak.language.variable
Definition:
CConstant.java:24
src
main
java
org
lightjason
agentspeak
language
instantiable
plan
annotation
CValueAnnotation.java
Generated by
1.8.13