org.plasma.text.lang3gl.java
Class DSLClassFactory

java.lang.Object
  extended by org.plasma.text.lang3gl.java.DefaultFactory
      extended by org.plasma.text.lang3gl.java.SDODefaultFactory
          extended by org.plasma.text.lang3gl.java.DSLClassFactory
All Implemented Interfaces:
ClassFactory, Lang3GLContentFactory

public class DSLClassFactory
extends SDODefaultFactory
implements ClassFactory


Field Summary
protected  DSLClassNameResolver dslClassNameResolver
           
protected  SDOInterfaceNameResolver sdoInterfaceResolver
           
 
Fields inherited from class org.plasma.text.lang3gl.java.SDODefaultFactory
classResolver, interfaceProvisioning, interfaceResolver, SDO_RESERVED_NAMES
 
Fields inherited from class org.plasma.text.lang3gl.java.DefaultFactory
context, FILE_SEP, LINE_SEP
 
Constructor Summary
DSLClassFactory(Lang3GLContext context)
           
 
Method Summary
protected  String createConstructors(Package pkg, Class clss)
           
 String createContent(Package pkg, Class clss)
          Returns an 3Gl language specific content for the given Package and Type
protected  String createDataPropertyOperation(Package pkg, Class clss, Property field)
           
 String createDirectoryName(Package pkg)
          Returns an 3Gl language specific directory name for the given Package based on configuration settings.
protected  String createDSLClassReferenceImportDeclarations(Package pkg, Class clss)
           
protected  String createDSLImportDeclarations(Package pkg, Class clss)
           
 String createFileName(Class clss)
          Returns an 3Gl language specific file name for the given Class based on configuration settings.
protected  String createOperations(Package pkg, Class clss)
           
protected  String createOperations(Package pkg, Class clss, Property field)
           
protected  String createPackageDeclaration(Package pkg)
           
protected  String createPackageName(Package pkg)
           
protected  String createPrivateFieldDeclaration(Class clss, Property field)
           
protected  String createReferencePropertyOperation(Package pkg, Class clss, Property field)
           
protected  String createReferencePropertyPredicateOperation(Package pkg, Class clss, Property field)
           
protected  String createStaticOperations(Package pkg, Class clss)
           
protected  String createThirdPartyImportDeclarations(Package pkg, Class clss)
           
protected  String createTypeDeclaration(Package pkg, Class clss)
           
protected  String getImplementationClassName(Class clss)
           
 
Methods inherited from class org.plasma.text.lang3gl.java.SDODefaultFactory
createBaseDirectoryName, createSDOInterfaceReferenceImportDeclarations, toMethodFieldName, toQualifiedPropertyNameReference
 
Methods inherited from class org.plasma.text.lang3gl.java.DefaultFactory
beginBody, collectDataClassNames, collectDataClassNames, collectDataFieldClassNamesDeep, collectProvisioningClasses, collectProvisioningClassesDeep, collectProvisioningFields, collectProvisioningSuperclasses, collectReferenceClassNames, collectReferenceClassNames, collectReferenceFieldClassNamesDeep, collectSuperclassNames, collectSuperClassNames, collectSuperClassNames, createCreatorByAbstractClassDeclaration, createCreatorDeclaration, createFieldImportMap, createImportDeclaration, createImportDeclarations, createIsSetDeclaration, createManyAdderDeclaration, createManyCountDeclaration, createManyGetterDeclaration, createManyIndexGetterDeclaration, createManyRemoverDeclaration, createManySetterDeclaration, createSingularGetterDeclaration, createSingularSetterDeclaration, createUnsetterDeclaration, endBody, firstToUpperCase, getContext, getDataFlavor, getPrimitiveTypeDefault, getTypeClass, getTypeClass, getTypeClassName, getTypeClassName, getWrappedDocmentations, hasOnlySingilarFields, hasOnlySingilarFieldsDeep, indent, newline, toConstantName, toEnumLiteralName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.plasma.text.lang3gl.Lang3GLContentFactory
createBaseDirectoryName, getContext, getTypeClass
 

Field Detail

sdoInterfaceResolver

protected SDOInterfaceNameResolver sdoInterfaceResolver

dslClassNameResolver

protected DSLClassNameResolver dslClassNameResolver
Constructor Detail

DSLClassFactory

public DSLClassFactory(Lang3GLContext context)
Method Detail

createFileName

public String createFileName(Class clss)
Description copied from interface: ClassFactory
Returns an 3Gl language specific file name for the given Class based on configuration settings.

Specified by:
createFileName in interface ClassFactory
Parameters:
clss - the class
Returns:
an 3Gl language specific file name for the given Class based on configuration settings
See Also:
Class

createContent

public String createContent(Package pkg,
                            Class clss)
Description copied from interface: ClassFactory
Returns an 3Gl language specific content for the given Package and Type

Specified by:
createContent in interface ClassFactory
Parameters:
pkg - the Package
clss - the Type
Returns:
the content

createPackageDeclaration

protected String createPackageDeclaration(Package pkg)
Overrides:
createPackageDeclaration in class SDODefaultFactory

createTypeDeclaration

protected String createTypeDeclaration(Package pkg,
                                       Class clss)

createConstructors

protected String createConstructors(Package pkg,
                                    Class clss)

createStaticOperations

protected String createStaticOperations(Package pkg,
                                        Class clss)

createOperations

protected String createOperations(Package pkg,
                                  Class clss)

createOperations

protected String createOperations(Package pkg,
                                  Class clss,
                                  Property field)

createDataPropertyOperation

protected String createDataPropertyOperation(Package pkg,
                                             Class clss,
                                             Property field)

createReferencePropertyOperation

protected String createReferencePropertyOperation(Package pkg,
                                                  Class clss,
                                                  Property field)

createReferencePropertyPredicateOperation

protected String createReferencePropertyPredicateOperation(Package pkg,
                                                           Class clss,
                                                           Property field)

createDirectoryName

public String createDirectoryName(Package pkg)
Description copied from interface: Lang3GLContentFactory
Returns an 3Gl language specific directory name for the given Package based on configuration settings.

Specified by:
createDirectoryName in interface Lang3GLContentFactory
Overrides:
createDirectoryName in class SDODefaultFactory
Parameters:
pkg - the package
Returns:
an 3Gl language specific directory name for the given Package based on configuration settings
See Also:
Package

createPackageName

protected String createPackageName(Package pkg)

createPrivateFieldDeclaration

protected String createPrivateFieldDeclaration(Class clss,
                                               Property field)

createThirdPartyImportDeclarations

protected String createThirdPartyImportDeclarations(Package pkg,
                                                    Class clss)

createDSLImportDeclarations

protected String createDSLImportDeclarations(Package pkg,
                                             Class clss)

getImplementationClassName

protected String getImplementationClassName(Class clss)
Overrides:
getImplementationClassName in class SDODefaultFactory

createDSLClassReferenceImportDeclarations

protected String createDSLClassReferenceImportDeclarations(Package pkg,
                                                           Class clss)


Copyright © 2014. All rights reserved.