LightJason - AgentSpeak(L++)
org.lightjason.agentspeak.language.variable.CVariable< T > Class Template Reference

default variable definition More...

+ Inheritance diagram for org.lightjason.agentspeak.language.variable.CVariable< T >:
+ Collaboration diagram for org.lightjason.agentspeak.language.variable.CVariable< T >:

Public Member Functions

 CVariable ( @Nonnull final String p_functor)
 ctor More...
 
 CVariable ( @Nonnull final String p_functor, @Nullable final T p_value)
 ctor More...
 
 CVariable ( @Nonnull final IPath p_functor)
 ctor More...
 
 CVariable ( @Nonnull final IPath p_functor, @Nullable final T p_value)
 ctor More...
 
boolean allocated ()
 returns allocated state More...
 
final boolean any ()
 flag to define a "any variable" More...
 
ITerm deepcopy (final IPath... p_prefix)
 
ITerm deepcopysuffix ()
 
final boolean equals (final Object p_object)
 
final IPath fqnfunctor ()
 returns the full-qualified functor with path and name More...
 
final String functor ()
 returns the functor without path More...
 
final IPath functorpath ()
 returns the path of the functor More...
 
final int hashCode ()
 
final boolean hasVariable ()
 checks if the literal has variables More...
 
boolean mutex ()
 flag to check if variable has is concurrency- / thread-safe More...
 
IVariable< T > set ( @Nullable final T p_value)
 sets the value More...
 
IVariable< T > shallowcopy (final IPath... p_prefix)
 
IVariable< T > shallowcopysuffix ()
 clones the object (shallow-copy) without full-qualified path, only suffix is used More...
 
final int structurehash ()
 returns a hash value which defines a hash ove rthe structure More...
 
IVariable< T > thrownotallocated () throws IllegalStateException
 throws an illegal state exception iif the variable is not allocated More...
 
IVariable< T > throwvaluenotassignableto ( @Nonnull final Class<?>... p_class) throws IllegalArgumentException
 throws an illegal argument exception iif the value is not assignable to the class More...
 
String toString ()
 
boolean valueassignableto ( @Nonnull final Class<?>... p_class)
 checkes assignable of the value More...
 
- Public Member Functions inherited from org.lightjason.agentspeak.language.ITerm
default< T extends ITerm > T term ()
 casts the object to a term-type More...
 
- Public Member Functions inherited from org.lightjason.agentspeak.language.IDeepCopy< ITerm >
deepcopy (@Nullable final IPath... p_prefix)
 clones the object (shallow-copy) More...
 
deepcopysuffix ()
 clones the object (shallow-copy) without full-qualified path, only suffix is used More...
 
- Public Member Functions inherited from org.lightjason.agentspeak.language.IShallowCopy< T >
shallowcopy ( @Nullable final IPath... p_prefix)
 clones the object (shallow-copy) More...
 

Protected Attributes

final boolean m_any
 boolean flag, that defines an variable which matchs always More...
 
final IPath m_functor
 variable / functor name More...
 
m_value
 value of the variable More...
 

Package Functions

public< N > N raw ()
 cast to any raw value type More...
 

Private Member Functions

IVariable< T > internalset (final T p_value)
 internel set for avoid any exception throwing More...
 

Static Private Attributes

static final long serialVersionUID = -5542578381343603600L
 serial id More...
 

Additional Inherited Members

- Public Attributes inherited from org.lightjason.agentspeak.language.ITerm
ITerm EMPTY
 empty term More...
 
long serialVersionUID = -3640918490398129717L
 serial id More...
 
- Public Attributes inherited from org.lightjason.agentspeak.language.IStructureHash
Comparator< IStructureHashCOMPARATOR = Comparator.comparingInt( IStructureHash::structurehash )
 comparator More...
 

Detailed Description

Note
variable set is not thread-safe on default

Definition at line 46 of file CVariable.java.

Constructor & Destructor Documentation

◆ CVariable() [1/4]

org.lightjason.agentspeak.language.variable.CVariable< T >.CVariable ( @Nonnull final String  p_functor)
Parameters
p_functorname

Definition at line 70 of file CVariable.java.

References org.lightjason.agentspeak.common.CPath.from().

+ Here is the call graph for this function:

◆ CVariable() [2/4]

org.lightjason.agentspeak.language.variable.CVariable< T >.CVariable ( @Nonnull final String  p_functor,
@Nullable final T  p_value 
)
Parameters
p_functorname
p_valuevalue

Definition at line 81 of file CVariable.java.

References org.lightjason.agentspeak.common.CPath.from().

+ Here is the call graph for this function:

◆ CVariable() [3/4]

Parameters
p_functorname

Definition at line 91 of file CVariable.java.

◆ CVariable() [4/4]

org.lightjason.agentspeak.language.variable.CVariable< T >.CVariable ( @Nonnull final IPath  p_functor,
@Nullable final T  p_value 
)
Parameters
p_functorname
p_valuevalue

Definition at line 103 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.equals(), and org.lightjason.agentspeak.language.variable.CVariable< T >.internalset().

+ Here is the call graph for this function:

Member Function Documentation

◆ allocated()

◆ any()

◆ deepcopy()

ITerm org.lightjason.agentspeak.language.variable.CVariable< T >.deepcopy ( final IPath...  p_prefix)

Definition at line 231 of file CVariable.java.

References org.lightjason.agentspeak.common.IPath.append(), org.lightjason.agentspeak.language.CCommon.deepclone(), org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor, and org.lightjason.agentspeak.language.variable.CVariable< T >.m_value.

+ Here is the call graph for this function:

◆ deepcopysuffix()

Definition at line 243 of file CVariable.java.

References org.lightjason.agentspeak.language.CCommon.deepclone(), org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor, org.lightjason.agentspeak.language.variable.CVariable< T >.m_value, and org.lightjason.agentspeak.common.IPath.suffix().

+ Here is the call graph for this function:

◆ equals()

final boolean org.lightjason.agentspeak.language.variable.CVariable< T >.equals ( final Object  p_object)

Definition at line 168 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.hashCode().

Referenced by org.lightjason.agentspeak.language.variable.CVariable< T >.CVariable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fqnfunctor()

◆ functor()

Returns
functor

Implements org.lightjason.agentspeak.language.ITerm.

Definition at line 181 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor, and org.lightjason.agentspeak.common.IPath.suffix().

Referenced by org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablemutex(), and org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablerelocate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ functorpath()

Returns
path

Implements org.lightjason.agentspeak.language.ITerm.

Definition at line 188 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor, org.lightjason.agentspeak.common.IPath.size(), and org.lightjason.agentspeak.common.IPath.subpath().

+ Here is the call graph for this function:

◆ hashCode()

Definition at line 162 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor.

Referenced by org.lightjason.agentspeak.language.variable.CVariable< T >.equals().

+ Here is the caller graph for this function:

◆ hasVariable()

final boolean org.lightjason.agentspeak.language.variable.CVariable< T >.hasVariable ( )
Returns
variable flag

Implements org.lightjason.agentspeak.language.ITerm.

Definition at line 201 of file CVariable.java.

Referenced by org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablemutex(), and org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablerelocate().

+ Here is the caller graph for this function:

◆ internalset()

IVariable<T> org.lightjason.agentspeak.language.variable.CVariable< T >.internalset ( final T  p_value)
private
Parameters
p_valuevalue
Returns
self reference

Definition at line 261 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_any, org.lightjason.agentspeak.language.variable.CVariable< T >.m_value, and org.lightjason.agentspeak.language.ITerm.raw().

Referenced by org.lightjason.agentspeak.language.variable.CVariable< T >.CVariable(), and org.lightjason.agentspeak.language.variable.CVariable< T >.set().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mutex()

Returns
mutex flag

Implements org.lightjason.agentspeak.language.variable.IVariable< T >.

Definition at line 130 of file CVariable.java.

Referenced by org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablemutex(), and org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablerelocate().

+ Here is the caller graph for this function:

◆ raw()

Template Parameters
rawtype
Returns
any type

Implements org.lightjason.agentspeak.language.ITerm.

Definition at line 208 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_value.

Referenced by org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.relocate(), org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablemutex(), and org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablerelocate().

+ Here is the caller graph for this function:

◆ set()

IVariable<T> org.lightjason.agentspeak.language.variable.CVariable< T >.set ( @Nullable final T  p_value)
Parameters
p_valuevalue
Returns
the object itself

Implements org.lightjason.agentspeak.language.variable.IVariable< T >.

Definition at line 112 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.internalset().

Referenced by org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablemutex(), and org.lightjason.agentspeak.language.TestCTermVariablesConstant.relocatevariablerelocate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ shallowcopy()

◆ shallowcopysuffix()

Returns
new instance of the object

Implements org.lightjason.agentspeak.language.IShallowCopy< T >.

Definition at line 224 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor, org.lightjason.agentspeak.language.variable.CVariable< T >.m_value, and org.lightjason.agentspeak.common.IPath.suffix().

+ Here is the call graph for this function:

◆ structurehash()

Returns
structure hash value

Implements org.lightjason.agentspeak.language.IStructureHash.

Definition at line 249 of file CVariable.java.

◆ thrownotallocated()

IVariable<T> org.lightjason.agentspeak.language.variable.CVariable< T >.thrownotallocated ( ) throws IllegalStateException
Returns
object itself
Exceptions
IllegalStateExceptionon non-allocated

Implements org.lightjason.agentspeak.language.IRawStructure< T >.

Definition at line 137 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.allocated(), org.lightjason.agentspeak.common.CCommon.languagestring(), and org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor.

+ Here is the call graph for this function:

◆ throwvaluenotassignableto()

IVariable<T> org.lightjason.agentspeak.language.variable.CVariable< T >.throwvaluenotassignableto ( @Nonnull final Class<?>...  p_class) throws IllegalArgumentException
Parameters
p_classassignable class
Returns
object itself
Exceptions
IllegalArgumentExceptionon assignable error

Implements org.lightjason.agentspeak.language.IAssignable< T >.

Definition at line 153 of file CVariable.java.

References org.lightjason.agentspeak.common.CCommon.languagestring(), org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor, and org.lightjason.agentspeak.language.variable.CVariable< T >.valueassignableto().

+ Here is the call graph for this function:

◆ toString()

Definition at line 174 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_functor, and org.lightjason.agentspeak.language.variable.CVariable< T >.m_value.

Referenced by org.lightjason.agentspeak.language.TestCTermVariablesConstant.constantcopy().

+ Here is the caller graph for this function:

◆ valueassignableto()

boolean org.lightjason.agentspeak.language.variable.CVariable< T >.valueassignableto ( @Nonnull final Class<?>...  p_class)
Parameters
p_classclass
Returns
assignable (on null always true)

Implements org.lightjason.agentspeak.language.IAssignable< T >.

Definition at line 146 of file CVariable.java.

References org.lightjason.agentspeak.language.variable.CVariable< T >.m_value.

Referenced by org.lightjason.agentspeak.language.variable.CVariable< T >.throwvaluenotassignableto().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_any

◆ m_functor

Definition at line 55 of file CVariable.java.

Referenced by org.lightjason.agentspeak.language.variable.CRelocateMutexVariable< T >.deepcopy(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.deepcopy(), org.lightjason.agentspeak.language.variable.CVariable< T >.deepcopy(), org.lightjason.agentspeak.language.variable.CRelocateMutexVariable< T >.deepcopysuffix(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.deepcopysuffix(), org.lightjason.agentspeak.language.variable.CVariable< T >.deepcopysuffix(), org.lightjason.agentspeak.language.variable.CVariable< T >.fqnfunctor(), org.lightjason.agentspeak.language.variable.CVariable< T >.functor(), org.lightjason.agentspeak.language.variable.CVariable< T >.functorpath(), org.lightjason.agentspeak.language.variable.CVariable< T >.hashCode(), org.lightjason.agentspeak.language.variable.CConstant< T >.set(), org.lightjason.agentspeak.language.variable.CConstant< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CRelocateMutexVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CMutexVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CConstant< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CRelocateMutexVariable< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CMutexVariable< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CVariable< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CVariable< T >.thrownotallocated(), org.lightjason.agentspeak.language.variable.CVariable< T >.throwvaluenotassignableto(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.toString(), and org.lightjason.agentspeak.language.variable.CVariable< T >.toString().

◆ m_value

Definition at line 63 of file CVariable.java.

Referenced by org.lightjason.agentspeak.language.variable.CVariable< T >.allocated(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.deepcopy(), org.lightjason.agentspeak.language.variable.CRelocateMutexVariable< T >.deepcopy(), org.lightjason.agentspeak.language.variable.CVariable< T >.deepcopy(), org.lightjason.agentspeak.language.variable.CRelocateMutexVariable< T >.deepcopysuffix(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.deepcopysuffix(), org.lightjason.agentspeak.language.variable.CVariable< T >.deepcopysuffix(), org.lightjason.agentspeak.language.variable.CVariable< T >.internalset(), org.lightjason.agentspeak.language.variable.CVariable< T >.raw(), org.lightjason.agentspeak.language.variable.CConstant< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CRelocateMutexVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CMutexVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CVariable< T >.shallowcopy(), org.lightjason.agentspeak.language.variable.CConstant< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CMutexVariable< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CVariable< T >.shallowcopysuffix(), org.lightjason.agentspeak.language.variable.CRelocateVariable< T >.toString(), org.lightjason.agentspeak.language.variable.CVariable< T >.toString(), and org.lightjason.agentspeak.language.variable.CVariable< T >.valueassignableto().

◆ serialVersionUID

final long org.lightjason.agentspeak.language.variable.CVariable< T >.serialVersionUID = -5542578381343603600L
staticprivate

Definition at line 51 of file CVariable.java.