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  java.lang.String createConstructors(Package pkg, Class clss)
           
 java.lang.String createContent(Package pkg, Class clss)
          Returns an 3Gl language specific content for the given Package and Type
protected  java.lang.String createDataPropertyOperation(Package pkg, Class clss, Property field)
           
 java.lang.String createDirectoryName(Package pkg)
          Returns an 3Gl language specific directory name for the given Package based on configuration settings.
protected  java.lang.String createDSLClassReferenceImportDeclarations(Package pkg, Class clss)
           
 java.lang.String createFileName(Class clss)
          Returns an 3Gl language specific file name for the given Class based on configuration settings.
protected  java.lang.String createOperations(Package pkg, Class clss)
           
protected  java.lang.String createOperations(Package pkg, Class clss, Property field)
           
protected  java.lang.String createPackageDeclaration(Package pkg)
           
protected  java.lang.String createPackageName(Package pkg)
           
protected  java.lang.String createPrivateFieldDeclaration(Class clss, Property field)
           
protected  java.lang.String createReferencePropertyOperation(Package pkg, Class clss, Property field)
           
protected  java.lang.String createReferencePropertyPredicateOperation(Package pkg, Class clss, Property field)
           
protected  java.lang.String createStaticOperations(Package pkg, Class clss)
           
protected  java.lang.String createThirdPartyImportDeclarations(Package pkg, Class clss)
           
protected  java.lang.String createTypeDeclaration(Package pkg, Class clss)
           
protected  java.lang.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, 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 java.lang.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 java.lang.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 java.lang.String createPackageDeclaration(Package pkg)
Overrides:
createPackageDeclaration in class SDODefaultFactory

createTypeDeclaration

protected java.lang.String createTypeDeclaration(Package pkg,
                                                 Class clss)

createConstructors

protected java.lang.String createConstructors(Package pkg,
                                              Class clss)

createStaticOperations

protected java.lang.String createStaticOperations(Package pkg,
                                                  Class clss)

createOperations

protected java.lang.String createOperations(Package pkg,
                                            Class clss)

createOperations

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

createDataPropertyOperation

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

createReferencePropertyOperation

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

createReferencePropertyPredicateOperation

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

createDirectoryName

public java.lang.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 java.lang.String createPackageName(Package pkg)

createPrivateFieldDeclaration

protected java.lang.String createPrivateFieldDeclaration(Class clss,
                                                         Property field)

createThirdPartyImportDeclarations

protected java.lang.String createThirdPartyImportDeclarations(Package pkg,
                                                              Class clss)

getImplementationClassName

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

createDSLClassReferenceImportDeclarations

protected java.lang.String createDSLClassReferenceImportDeclarations(Package pkg,
                                                                     Class clss)


Copyright © 2013. All Rights Reserved.