Class JavaLanguage
java.lang.Object
io.github.mmm.code.api.language.AbstractCodeLanguage
io.github.mmm.code.api.language.JavaLanguage
- All Implemented Interfaces:
CodeLanguage
The default implementation of
CodeLanguage (for Java).- Since:
- 1.0.0
- Author:
- Joerg Hohwiller (hohwille at users.sourceforge.net)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThelanguage name.static final Stringstatic final StringType extensionfor Java. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic JavaLanguageget()getFileFilename(CodeFile file) getKeywordForCategory(CodeTypeCategory category) getKeywordForVariable(CodeLocalVariable variable) protected Patternprotected Patternprotected Patternprotected booleanisRevervedKeyword(String name, CodeItem item) Methods inherited from class AbstractCodeLanguage
getMethodModifiers, getOperationName, verifyName, verifyName, verifySimpleName, writeAnnotations, writeBody, writeBody, writeComment, writeConstructor, writeDeclaration, writeDeclaration, writeDoc, writeElement, writeField, writeMethod, writeOperation, writeParameters, writeTypeReferenceBegin, writeTypeReferenceEnd, writeTypeVariablesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CodeLanguage
getAnnotationEndIfEmpty, getAnnotationStart, getKeywordForExtends, getKeywordForImplements, getMethodKeyword, getPackageSeparator, isSupportingNativeProperties
-
Field Details
-
LANGUAGE_NAME_JAVA
-
TYPE_EXTENSION_JAVA
-
PACKAGE_INFO_JAVA
- See Also:
-
-
Constructor Details
-
JavaLanguage
public JavaLanguage()
-
-
Method Details
-
getLanguageName
- Returns:
- the name of the programming language. E.g. "Java".
-
getVariableNameThis
- Returns:
- the
nameforCodeVariableThis. E.g. "this" or "self".
-
getKeywordForVariable
- Parameters:
variable- theCodeLocalVariable.- Returns:
- the keyword for the declaration (e.g. "let ", "final ", "var ", or "val ").
-
getKeywordForCategory
- Parameters:
category- theCodeTypeCategory.- Returns:
- the keyword for the given
categoryto use in the source-code.
-
getStatementTerminator
- Returns:
- the
Stringused as suffix to terminate aCodeAtomicStatement. E.g. ";".
-
getNamePattern
- Specified by:
getNamePatternin classAbstractCodeLanguage- Parameters:
item- the item toverify. May be ignored if pattern and validation is independent of the item type.- Returns:
- the
Patternthat defines valid names.
-
getSimpleNamePatternForPackage
- Specified by:
getSimpleNamePatternForPackagein classAbstractCodeLanguage- Returns:
- the
Patternthat defines validCodePackagenames.
-
getSimpleNamePatternForType
- Specified by:
getSimpleNamePatternForTypein classAbstractCodeLanguage- Returns:
- the
Patternthat defines validnamesforCodeTypeandCodeFile.
-
isRevervedKeyword
- Specified by:
isRevervedKeywordin classAbstractCodeLanguage- Parameters:
name- the name of theCodeItemto create.item- theCodeItemto verify that defines the givenname. Will most probably be ignored but a language may allow keywords in specific places and forbid in others.- Returns:
trueif the givennameis invalid (for the givenCodeItem) because it is a reserved keyword.
-
getPackageFilename
- Parameters:
pkg- theCodePackageto be read or write.- Returns:
- the filename for the given
CodePackage.
-
getFileFilename
-
get
- Returns:
- the singleton instance.
-