org.eclipse.etrice.generator.generic
Interface ILanguageExtension

All Known Implementing Classes:
CExtensions, JavaExtensions

public interface ILanguageExtension

Author:
hrentz

Method Summary
 java.lang.String accessLevelPrivate()
          unification of access level for all Languages before each member
 java.lang.String accessLevelProtected()
          unification of access level for all Languages before each member
 java.lang.String accessLevelPublic()
          unification of access level for all Languages before each member
 java.lang.String arrayDeclaration(java.lang.String type, int size, java.lang.String name)
          array declarations differ in Java and C/C++
 java.lang.String booleanConstant(boolean b)
          literals for boolean constants
 java.lang.String genEnumeration(java.lang.String name, java.util.List<> entries)
          generate an enumeration (enum in C, int constants in Java)
 java.lang.String getTypedDataDefinition(Message m)
           
 java.lang.String memberAccess()
          unification of member access for different languages
 java.lang.String memberInDeclaration(java.lang.String namespace, java.lang.String member)
          member declaration
 java.lang.String memberInUse(java.lang.String namespace, java.lang.String member)
          member usage
 java.lang.String nullPointer()
          a literal for the null pointer
 java.lang.String operationScope(java.lang.String classname, boolean isDeclaration)
          language specific scoping string for operations e.g.
 java.lang.String selfPointer(boolean hasArgs)
          self pointer for function calls
 java.lang.String selfPointer(java.lang.String classname, boolean hasArgs)
          self pointer for building class mechanism in C, e.g.
 boolean usesInheritance()
          does the target language offer inheritance
 java.lang.String voidPointer()
          a generic pointer
 

Method Detail

getTypedDataDefinition

java.lang.String getTypedDataDefinition(Message m)

accessLevelPrivate

java.lang.String accessLevelPrivate()
unification of access level for all Languages before each member

Returns:
e.g. "private " for Java, nothing for C and C++ (no access level before the individual member)

accessLevelProtected

java.lang.String accessLevelProtected()
unification of access level for all Languages before each member

Returns:
e.g. "protected " for Java, nothing for C and C++ (no access level before the individual member)

accessLevelPublic

java.lang.String accessLevelPublic()
unification of access level for all Languages before each member

Returns:
e.g. "public " for Java, nothing for C and C++ (no access level before the individual member)

memberAccess

java.lang.String memberAccess()
unification of member access for different languages

Returns:
e.g. "this." for Java and C++ or "self->" for C

selfPointer

java.lang.String selfPointer(java.lang.String classname,
                             boolean hasArgs)
self pointer for building class mechanism in C, e.g. MyClass_function1(MyClass *self, int32 argument1)

Parameters:
classname - the class name
hasArgs - true if functions has further arguments
Returns:
"classname *self, " for C / for Java and C++ nothing

selfPointer

java.lang.String selfPointer(boolean hasArgs)
self pointer for function calls

Parameters:
hasArgs - true if functions has further arguments
Returns:
"self, " for C / for Java and C++ nothing

operationScope

java.lang.String operationScope(java.lang.String classname,
                                boolean isDeclaration)
language specific scoping string for operations e.g. nothing in Java (only inside class declaration), nothing and classname:: for C++ and classname_ for C

Parameters:
classname - the class name
isDeclaration - true if it is a declaration
Returns:
"classname_" for C / for Java and C++ nothing

memberInDeclaration

java.lang.String memberInDeclaration(java.lang.String namespace,
                                     java.lang.String member)
member declaration

Parameters:
namespace - the namespace or class name
member - the member name
Returns:
for C: namespace_member, for Java namespace.member

memberInUse

java.lang.String memberInUse(java.lang.String namespace,
                             java.lang.String member)
member usage

Parameters:
namespace - the namespace or class name
member - the member name
Returns:
for C: namespace_member, for Java namespace.member

usesInheritance

boolean usesInheritance()
does the target language offer inheritance

Returns:
true for C++ and Java, false for C

genEnumeration

java.lang.String genEnumeration(java.lang.String name,
                                java.util.List<> entries)
generate an enumeration (enum in C, int constants in Java)

Parameters:
name - the enumeration name
entries - a list of name/value pairs
Returns:
a string defining the enumeration in the target language

booleanConstant

java.lang.String booleanConstant(boolean b)
literals for boolean constants

Parameters:
b - the boolean value
Returns:
TRUE/FALSE for C/C++, true/false for Java

nullPointer

java.lang.String nullPointer()
a literal for the null pointer

Returns:
NULL for C/C++, null for Java

voidPointer

java.lang.String voidPointer()
a generic pointer

Returns:
void* for C/C++, Object for Java

arrayDeclaration

java.lang.String arrayDeclaration(java.lang.String type,
                                  int size,
                                  java.lang.String name)
array declarations differ in Java and C/C++

Parameters:
type -
size -
name -
Returns:
a string that represents the declaration