-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3cf6529
commit a142357
Showing
152 changed files
with
22,964 additions
and
20,351 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 15 additions & 0 deletions
15
...m-extension-usage/src-gen/main/java/com/anaptecs/jeaf/junit/openapi/base/DynamicEnum.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package com.anaptecs.jeaf.junit.openapi.base; | ||
|
||
/** | ||
* Test for enums with dynamic literals. | ||
* | ||
* @author JEAF Generator | ||
* @version JEAF Release 1.6.x | ||
*/ | ||
public enum DynamicEnum { | ||
STATIC_LITERAL, | ||
/** | ||
* This is a fake dynamic literal. | ||
*/ | ||
FAKE; | ||
} |
200 changes: 200 additions & 0 deletions
200
...n-usage/src-gen/main/java/com/anaptecs/jeaf/junit/openapi/base/DynamicExtensibleEnum.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
package com.anaptecs.jeaf.junit.openapi.base; | ||
|
||
import com.anaptecs.jeaf.xfun.api.checks.Check; | ||
|
||
public final class DynamicExtensibleEnum { | ||
public static enum DynamicExtensibleEnumType { | ||
STATIC_LITERAL, | ||
/** | ||
* Literal UNKNOWN is used in case that an unknown literal of this enumeration is received e.g. via an external | ||
* interface. | ||
*/ | ||
UNKNOWN; | ||
} | ||
|
||
public static final DynamicExtensibleEnum STATIC_LITERAL = | ||
new DynamicExtensibleEnum(DynamicExtensibleEnumType.STATIC_LITERAL); | ||
|
||
/** | ||
* Literal of the enumeration that is represented by this instance. | ||
*/ | ||
private DynamicExtensibleEnumType literal; | ||
|
||
/** | ||
* In case that the literal is unknown then also it's actual name is still available as | ||
* <code>unknownLiteralName</code> | ||
*/ | ||
private String unknownLiteralName; | ||
|
||
/** | ||
* Method returns extensible enumeration based on the passed name. If the literal name is unknown then an instance | ||
* representing "unknown" will be returned. | ||
* | ||
* @param pLiteral Enumeration literal that should be used to initialize the extensible enumeration. The parameter | ||
* must not be null. | ||
* @return | ||
*/ | ||
public static DynamicExtensibleEnum valueOf( String pLiteralName ) { | ||
DynamicExtensibleEnum lEnum; | ||
try { | ||
DynamicExtensibleEnumType lEnumValue = Enum.valueOf(DynamicExtensibleEnumType.class, pLiteralName); | ||
switch (lEnumValue) { | ||
case STATIC_LITERAL: | ||
lEnum = STATIC_LITERAL; | ||
break; | ||
default: | ||
lEnum = new DynamicExtensibleEnum(lEnumValue); | ||
} | ||
} | ||
catch (IllegalArgumentException e) { | ||
lEnum = new DynamicExtensibleEnum(pLiteralName); | ||
} | ||
return lEnum; | ||
} | ||
|
||
/** | ||
* Default constructor is only intended to be used for deserialization as many frameworks required that. For "normal" | ||
* object creation available constructors {@link #DynamicExtensibleEnum(DynamicExtensibleEnumType)} and | ||
* {@link #DynamicExtensibleEnum(String)} should be used. | ||
*/ | ||
DynamicExtensibleEnum( ) { | ||
} | ||
|
||
/** | ||
* Initialize object from real enumeration literal | ||
* | ||
* @param pLiteral Enumeration literal that should be used to initialize the extensible enumeration. The parameter | ||
* must not be null. | ||
*/ | ||
public DynamicExtensibleEnum( DynamicExtensibleEnumType pLiteral ) { | ||
Check.checkInvalidParameterNull(pLiteral, "pLiteral"); | ||
literal = pLiteral; | ||
unknownLiteralName = null; | ||
} | ||
|
||
/** | ||
* Initialize object using the name of the literal. | ||
* | ||
* @param pLiteralName Literal name that should be used to initialize the extensible enumeration. If the parameter is | ||
* null or has an unknown literal name then a "unknown" version will be created. | ||
* | ||
* @see DynamicExtensibleEnum#isUnknownLiteral() | ||
*/ | ||
public DynamicExtensibleEnum( String pLiteralName ) { | ||
try { | ||
literal = Enum.valueOf(DynamicExtensibleEnumType.class, pLiteralName); | ||
unknownLiteralName = null; | ||
} | ||
// Literal is unknown | ||
catch (IllegalArgumentException e) { | ||
literal = DynamicExtensibleEnumType.UNKNOWN; | ||
unknownLiteralName = pLiteralName; | ||
} | ||
} | ||
|
||
/** | ||
* Method returns the literal that is represented by this object. | ||
* | ||
* @return {@link DynamicExtensibleEnum} Literal that is represented by this object. The method never returns null. | ||
*/ | ||
public DynamicExtensibleEnumType getLiteral( ) { | ||
return literal; | ||
} | ||
|
||
/** | ||
* Method checks if the represented literal is actually unknown or not. | ||
* | ||
* @return boolean Method returns true if this object represents an unknown literal. | ||
*/ | ||
public boolean isUnknownLiteral( ) { | ||
return literal == DynamicExtensibleEnumType.UNKNOWN; | ||
} | ||
|
||
/** | ||
* Method returns the actual name of the unknown literal | ||
* | ||
* @return {@link String} Name of the unknown literal or null in case that the literal is known. | ||
*/ | ||
public String getUnknownLiteralName( ) { | ||
return unknownLiteralName; | ||
} | ||
|
||
/** | ||
* {@link Object#hashCode()} | ||
*/ | ||
@Override | ||
public int hashCode( ) { | ||
int lHashCode; | ||
if (unknownLiteralName != null && this.isUnknownLiteral() == true) { | ||
lHashCode = unknownLiteralName.hashCode(); | ||
} | ||
else { | ||
lHashCode = literal.hashCode(); | ||
} | ||
return lHashCode; | ||
} | ||
|
||
/** | ||
* {@link Object#equals(Object)} | ||
*/ | ||
@Override | ||
public boolean equals( Object pObject ) { | ||
boolean lEquals; | ||
if (pObject != null) { | ||
if (this == pObject) { | ||
lEquals = true; | ||
} | ||
// Passed object is of same type | ||
else if (this.getClass() == pObject.getClass()) { | ||
DynamicExtensibleEnum lEnum = (DynamicExtensibleEnum) pObject; | ||
// Compare if unknown literal is the same | ||
if (this.isUnknownLiteral() && lEnum.isUnknownLiteral()) { | ||
if (this.unknownLiteralName != null) { | ||
lEquals = this.unknownLiteralName.equals(lEnum.unknownLiteralName); | ||
} | ||
else if (lEnum.unknownLiteralName == null) { | ||
lEquals = true; | ||
} | ||
else { | ||
lEquals = false; | ||
} | ||
} | ||
// Compare based on literals | ||
else { | ||
lEquals = this.literal == lEnum.literal; | ||
} | ||
} | ||
// Passed object is of different type | ||
else { | ||
lEquals = false; | ||
} | ||
} | ||
// Passed object is null. | ||
else { | ||
lEquals = false; | ||
} | ||
return lEquals; | ||
} | ||
|
||
/** | ||
* {@link Object#toString()} | ||
*/ | ||
@Override | ||
public String toString( ) { | ||
String lLiteralName; | ||
if (this.isUnknownLiteral() == false) { | ||
lLiteralName = this.getLiteral().name(); | ||
} | ||
// Object represents unknown literal. | ||
else { | ||
String lUnknownLiteralName = this.getUnknownLiteralName(); | ||
if (lUnknownLiteralName != null) { | ||
lLiteralName = lUnknownLiteralName; | ||
} | ||
else { | ||
lLiteralName = this.getLiteral().name(); | ||
} | ||
} | ||
return lLiteralName; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
...t-custom-extension/src/main/resources/jeafgenerator/api/JavaEnumerationExtensionPoint.xpt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
«IMPORT uml» | ||
«IMPORT JMM» | ||
|
||
«DEFINE AddDynamicLiterals FOR JEAFEnumeration» | ||
«IF !ownedLiteral.isEmpty», «ENDIF» | ||
/** | ||
* This is a fake dynamic literal. | ||
*/ | ||
FAKE | ||
«ENDDEFINE» |
9 changes: 9 additions & 0 deletions
9
...-test-custom-extension/src/main/resources/jeafgenerator/api/OpenAPIEnumExtensionPoint.ext
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
|
||
cached List[String] getDynamicLiteralNames(JMM::OpenAPIEnumeration enum): | ||
{"FAKE"}.toList(); | ||
|
||
cached List[String] getDynamicLiteralDescriptions(JMM::OpenAPIEnumeration enum): | ||
{"Fake literal"}.toList(); | ||
|
||
cached List[boolean] getDynamicLiteralDeprecations(JMM::OpenAPIEnumeration enum): | ||
{true}.toList(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.