Package Torello.JavaDoc
Class EnumConstant
- java.lang.Object
-
- Torello.JavaDoc.Declaration
-
- Torello.JavaDoc.EnumConstant
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Comparable<EnumConstant>
public class EnumConstant extends Declaration implements java.io.Serializable, java.lang.Comparable<EnumConstant>, java.lang.Cloneable
Similar tojava.lang.reflect
This class is heavily used internally, and can be used (if needed) to modify Java Doc Web-Pages, programmatically.
HTML Processors that sort the Web-Page "Summary-Tables" will provide instances of this class to your Summary-Sorter Handler methods. Summary-Sorter handlers usually implement theSummarySorterHelperinterface; please review that class for more about sorting Java-Doc Page Summary Tables.
The HTML Processors that upgrade Web-Page "Detail Elements" also rely heavily on this class. Please review the class:ReflHTMLfor more information about Java-Doc Web-Page Detail Sections.Reflection Class:
Holds all information extracted from'.java' enumSource-Files about Enumerated-Constants's identified in that'enum'file.
Instances of this Class are Obtained From:
Use of the Reflection-HTML API is *NOT REQUIRED* to perform a standard Java Doc HTML File Upgrade. This "extra API" allows for programmatic modification of Java Doc HTML. This class contains quite a bit of reflected information, and furthermore, here there is a hook to the Native Java Parser Reflection Class.ReflHTML&SummaryTableHTML
ClassEnumConstantallows for storing the name and (optional) initializations for anEnumerated Constant. These are found inside of a Java'enum'Type-Definition.- See Also:
- Serialized Form
Hi-Lited Source-Code:- View Here: Torello/JavaDoc/EnumConstant.java
- Open New Browser-Tab: Torello/JavaDoc/EnumConstant.java
File Size: 13,097 Bytes Line Count: 301 '\n' Characters Found
-
-
Field Summary
Serializable ID Modifier and Type Field static longserialVersionUIDReflection & Inspection final-String(s) Modifier and Type Field ReadOnlyList<String>paramExpressionsSource-Parser Library-Hook References (Transient / Not Serializable) Modifier and Type Field VariableTreevariableTree-
Fields inherited from class Torello.JavaDoc.Declaration
annotations, body, entity, id, jdComment, jduAnnotationMirrors, location, modifiers, name, signature
-
-
Constructor Summary
Public Constructors that are Intended for Internal-Use, Only Constructor EnumConstant(VariableTree vt, Torello.JDUInternal.Miscellaneous.EntityAnnotationData ead, TreeUtils util)
-
Method Summary
Generate Artificial-Intelligence Token-Streams, which are easily converted to Embeddings. Modifier and Type Method ReadOnlyList<ReadOnlyList<String>>getTokenStreams()Methods: interface java.lang.Comparable Modifier and Type Method intcompareTo(EnumConstant ec)Methods: class java.lang.Object Modifier and Type Method booleanequals(EnumConstant other)StringtoString()StringtoString(int flags)
-
-
-
Field Detail
-
serialVersionUID
public static final long serialVersionUID
This fulfils the SerialVersion UID requirement for all classes that implement Java'sinterface java.io.Serializable. Using theSerializableImplementation offered by java is very easy, and can make saving program state when debugging a lot easier. It can also be used in place of more complicated systems like "hibernate" to store data as well.- See Also:
- Constant Field Values
- Code:
- Exact Field Declaration Expression:
public static final long serialVersionUID = 1;
-
paramExpressions
public final ReadOnlyList<java.lang.String> paramExpressions
The parameters passed to the constructor that constructed the enumerated-constant instance.
Many (or most)enum'sdo not actually use a constructor for their constants. Using a constructor is an extra-feature that allows additional information / data to be ascribed to the constant.
If no constructor has been used to buid an Enumerated Constant, then there (obviously) wouldn't be any expressions passed to a constructor for that constant. In such cases, this field will contain a non-null, empty,ReadOnlyList<String>.- Code:
- Exact Field Declaration Expression:
public final ReadOnlyList<String> paramExpressions;
-
variableTree
public final transient com.sun.source.tree.VariableTree variableTree
Hook Reference to Sun/Oracle Parser-Refletion Class
Though this class offers a streamlined set of reflection features, the Native Oracle Library Reflection-Classes offer a detailed AST interface into the standard Java Compiler. If you would like to use these Tree's to provide further code analysis on your Java-Doc Pages, this field is provided as a convenience for such purposes.
If a user decides to make use of the native OracleVariableTreeinstance that was used to build thisEnumConstantinstance, it may be retrieved from thistransientfield.MethodTreeNote:
The packagecom.sun.source.tree"reuses" or "overloads" theVariableTreeclass in that it may represent either a Field, or an Enumerated-Constant.- Code:
- Exact Field Declaration Expression:
public final transient VariableTree variableTree;
-
-
Method Detail
-
toString
public java.lang.String toString()
Generates aStringof thisEnum Constant, with all information included.- Overrides:
toStringin classDeclaration- Returns:
- A printable
Stringof thisEnumConstant. - See Also:
toString(int)- Code:
- Exact Method Body:
return "Name: [" + name + "]\n" + "Declaration: [" + StrPrint.abbrevEndRDSF(signature, MAX_STR_LEN, true) + "]\n" + // This will **NEVER** be null - unless 'this' instance was built from an HTML File, // rather than a source-code file. Instances like that are only used temporarily, and // are garbage collected instantly. Do this check anyway (just in case). "Location: " + ((this.location == null) ? "null" : ('[' + this.location.quickSummary() + ']'));
-
toString
public java.lang.String toString(int flags)
This method accepts a'flags'parameter which has been constructed using the Bit-Masks provided by thePFclass. Please view the Static-Constants which are provided by classPFfor more information about modifying the return-value of thistoString(int)method.
There is additional information printed by this'toString'method (versus the zero-argument, standard, Java'toString'). This method will print any available Java-Doc Comment's that were placed on thisEnumConstant.
This'toString'also allows for adding UNIX-Terminal color codes.- Overrides:
toStringin classDeclaration- Parameters:
flags- These are defined in thePrint-Flagsclass- Returns:
- A printable
Stringof thisEnumConstant. - See Also:
PF,toString()- Code:
- Exact Method Body:
boolean color = (flags & UNIX_COLORS) > 0; return printedName("Enum-Const", 17, color) + printedDeclaration(17, color) + printedParamExpressions(17) + printedLocation(17, color, (flags & BRIEF_LOCATION) > 0) + // The previous method does not add a '\n' end to the end of the returned string // This is optional, it adds a '\n' AT THE BEGINNING if it is included printedComments(17, color, (flags & JAVADOC_COMMENTS) > 0);
-
compareTo
public int compareTo(EnumConstant ec)
Java'sinterface Comparable<T>requirements. This does a very simple comparison using the two constants'Declaration.namefield.- Specified by:
compareToin interfacejava.lang.Comparable<EnumConstant>- Parameters:
ec- Any otherEnumConstantto be compared to'this' EnumConstant- Returns:
- An integer that fulfills Java's
Comparable<EnumConstant>interface requirements. - Code:
- Exact Method Body:
return (this == ec) ? 0 : this.name.compareTo(ec.name);
-
equals
public boolean equals(EnumConstant other)
This should be called an "atypical version" of the usualequals(Object other)method. This version of equals merely compares the name of the constant defined. The presumption here is that the definition of an 'constant' only has meaning - at all - inside the context of anenumwhere that constant has been defined. Since inside any'.java'enum, there may only be one element with a given name, this method shall returnTRUEwhenever the constant being compared also has the same name.- Parameters:
other- This may be any otherEnumConstant. It is strongly suggested that'other'be aconstantdefined in the same'.java'source-code file as'this'constant.- Returns:
- This method returns
TRUEwhen'this'instance ofEnumConstanthas the same'name'as the name of input-parameter'other' - Code:
- Exact Method Body:
return this.name.equals(other.name);
-
getTokenStreams
public ReadOnlyList<ReadOnlyList<java.lang.String>> getTokenStreams()
Description copied from class:DeclarationChat-GPT and me wrote a Token-Stream Generator-Method that can be used for creating the List-Data that needs to be sent to the Embeddings-Generator for creating an Embeddings-RAG using my Reflection-Classes.- Specified by:
getTokenStreamsin classDeclaration- Returns:
- A proper list of "Chunked Tokens" that may be sent to the Open-AI REST-API to generate an Embeddings-Vector
- Code:
- Exact Method Body:
final ROArrayListBuilder<ReadOnlyList<String>> tokens = new ROArrayListBuilder<>(); ROArrayListBuilder<String> b = new ROArrayListBuilder<>(); tokens.add(ReadOnlyList.of("SECTION", "entity", "enum-constant")); tokens.add(ReadOnlyList.of("SECTION", "name", this.name)); if ((this.paramExpressions != null) && (! this.paramExpressions.isEmpty())) { b = new ROArrayListBuilder<>(); b.add("SECTION"); b.add("constructor-params"); for (String param : this.paramExpressions) b.add(param); tokens.add(b.build()); } if ((this.annotations != null) && (! this.annotations.isEmpty())) { b = new ROArrayListBuilder<>(); b.add("SECTION"); b.add("annotations"); for (String a : this.annotations) b.add(a); tokens.add(b.build()); } return tokens.build();
-
-