Class OfficeFloorJavaCompilerImpl
java.lang.Object
net.officefloor.compile.classes.OfficeFloorJavaCompiler
net.officefloor.compile.impl.classes.OfficeFloorJavaCompilerImpl
OfficeFloorJavaCompiler implementation.- Author:
- Daniel Sagenschneider
-
Nested Class Summary
Nested classes/interfaces inherited from class net.officefloor.compile.classes.OfficeFloorJavaCompiler
OfficeFloorJavaCompiler.ClassField, OfficeFloorJavaCompiler.ClassName, OfficeFloorJavaCompiler.ConstructorWriter, OfficeFloorJavaCompiler.ConstructorWriterContext, OfficeFloorJavaCompiler.ImplementationRunnable<T extends Throwable>, OfficeFloorJavaCompiler.JavaSource, OfficeFloorJavaCompiler.JavaSourceContext, OfficeFloorJavaCompiler.JavaSourceWriter, OfficeFloorJavaCompiler.MethodWriter, OfficeFloorJavaCompiler.MethodWriterContext, OfficeFloorJavaCompiler.NonCompilerOperation<T extends Throwable> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringClassname for the JavacProcessingEnvironment to confirm on class path to ensure can compile.Fields inherited from class net.officefloor.compile.classes.OfficeFloorJavaCompiler
DEFAULT_OFFICE_FLOOR_JAVA_COMPILER_IMPLEMENTATION, SYSTEM_PROPERTY_JAVA_COMPILING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddWrapper(Class<?>[] wrappingTypes, Class<?> delegateType, String delegateExtraction, OfficeFloorJavaCompiler.ConstructorWriter constructorWriter, OfficeFloorJavaCompiler.MethodWriter methodWriter, OfficeFloorJavaCompiler.JavaSourceWriter... additionalSourceWriter) Adds a wrapperOfficeFloorJavaCompiler.JavaSource.compile()Compiles all the addedOfficeFloorJavaCompiler.JavaSourceinstances.createClassName(String name) Generates a uniqueOfficeFloorJavaCompiler.ClassName.createField(Class<?> fieldType, String fieldName) Creates theOfficeFloorJavaCompiler.ClassField.getSourceName(Class<?> type) Obtains the source name for theClass.voidwriteConstructor(Appendable appendable, String className, OfficeFloorJavaCompiler.ClassField... fields) Writes theConstructor.voidwriteDelegateMethodCall(Appendable source, String delegate, Method method) Writes the delegateMethodcall.voidwriteMethodImplementation(Appendable source, String delegate, Method method) Writes theMethodimplementation by invoking the delegate.booleanwriteMethodSignature(Appendable source, Method method) Writes theMethodsignature to theAppendable.Methods inherited from class net.officefloor.compile.classes.OfficeFloorJavaCompiler
addSource, addWrapper, newInstance, runWithImplementation, runWithoutCompiler
-
Field Details
-
JAVAC_PROCESSING_ENVIRONMENT_CLASS_NAME
Classname for the JavacProcessingEnvironment to confirm on class path to ensure can compile.- See Also:
-
-
Constructor Details
-
OfficeFloorJavaCompilerImpl
Instantiate.- Parameters:
sourceContext-SourceContext.- Throws:
ClassNotFoundException- If missingClassinstances for compiling.
-
-
Method Details
-
createClassName
Description copied from class:OfficeFloorJavaCompilerGenerates a uniqueOfficeFloorJavaCompiler.ClassName.- Specified by:
createClassNamein classOfficeFloorJavaCompiler- Parameters:
name- Seed name.- Returns:
OfficeFloorJavaCompiler.ClassName.
-
getSourceName
Description copied from class:OfficeFloorJavaCompilerObtains the source name for theClass.- Specified by:
getSourceNamein classOfficeFloorJavaCompiler- Parameters:
type-Class.- Returns:
- Name used in source to reference the type.
-
createField
Description copied from class:OfficeFloorJavaCompilerCreates theOfficeFloorJavaCompiler.ClassField.- Specified by:
createFieldin classOfficeFloorJavaCompiler- Parameters:
fieldType-Fieldtype.fieldName-Fieldname.- Returns:
OfficeFloorJavaCompiler.ClassField.
-
writeConstructor
public void writeConstructor(Appendable appendable, String className, OfficeFloorJavaCompiler.ClassField... fields) throws IOException Description copied from class:OfficeFloorJavaCompilerWrites theConstructor.- Specified by:
writeConstructorin classOfficeFloorJavaCompiler- Parameters:
appendable-Appendable.className- Simple name of theClass.fields-OfficeFloorJavaCompiler.ClassFieldinstances.- Throws:
IOException- If fails to write theConstructor.
-
writeMethodSignature
Description copied from class:OfficeFloorJavaCompilerWrites theMethodsignature to theAppendable.- Specified by:
writeMethodSignaturein classOfficeFloorJavaCompiler- Parameters:
source-Appendable.method-Method.- Returns:
trueif returns a value (falseforvoidMethodreturn).- Throws:
IOException- If fails to write theMethodsignature.
-
writeMethodImplementation
public void writeMethodImplementation(Appendable source, String delegate, Method method) throws IOException Description copied from class:OfficeFloorJavaCompilerWrites theMethodimplementation by invoking the delegate.- Specified by:
writeMethodImplementationin classOfficeFloorJavaCompiler- Parameters:
source-Appendable.delegate- Means to access delegate.method-Method.- Throws:
IOException- If fails write delegateMethodimplementation.
-
writeDelegateMethodCall
public void writeDelegateMethodCall(Appendable source, String delegate, Method method) throws IOException Description copied from class:OfficeFloorJavaCompilerWrites the delegateMethodcall.- Specified by:
writeDelegateMethodCallin classOfficeFloorJavaCompiler- Parameters:
source-Appendable.delegate- Means to access delegate.method-Method.- Throws:
IOException- If fails write delegateMethodcall.
-
addSource
Description copied from class:OfficeFloorJavaCompiler- Specified by:
addSourcein classOfficeFloorJavaCompiler- Parameters:
className-Classname.source- Source for theClass.- Returns:
OfficeFloorJavaCompiler.JavaSource.
-
addWrapper
public OfficeFloorJavaCompiler.JavaSource addWrapper(Class<?>[] wrappingTypes, Class<?> delegateType, String delegateExtraction, OfficeFloorJavaCompiler.ConstructorWriter constructorWriter, OfficeFloorJavaCompiler.MethodWriter methodWriter, OfficeFloorJavaCompiler.JavaSourceWriter... additionalSourceWriter) throws IOException Description copied from class:OfficeFloorJavaCompilerAdds a wrapperOfficeFloorJavaCompiler.JavaSource.- Specified by:
addWrapperin classOfficeFloorJavaCompiler- Parameters:
wrappingTypes- Wrapping types.delegateType- Delegate type.delegateExtraction- Means to extract the wrapped implementation from the delegate. May benullto use default.constructorWriter-OfficeFloorJavaCompiler.ConstructorWriter. May benullto use defaultConstructor.methodWriter-OfficeFloorJavaCompiler.MethodWriter. May benullto use default implementation.additionalSourceWriter-OfficeFloorJavaCompiler.JavaSourceWriterinstances.- Returns:
OfficeFloorJavaCompiler.JavaSourcefor the wrapper.- Throws:
IOException- If fails to write the wrapper.
-
compile
Description copied from class:OfficeFloorJavaCompilerCompiles all the addedOfficeFloorJavaCompiler.JavaSourceinstances.- Specified by:
compilein classOfficeFloorJavaCompiler- Returns:
MapofOfficeFloorJavaCompiler.JavaSourceto itsClass.
-