Eslopes, en este código usas STATIC:
Código COBOL:
CLASS-ID. Singleton AS "CoolThings.Singleton".
*> Static data and methods
static.
data division.
working-storage section.
01 instance usage object reference SINGLETON is private.
procedure division.
method-id. GetInstance AS "GetInstance".
data division.
linkage section.
01 localSingleton usage object reference SINGLETON.
procedure division returning localSingleton.
if (instance equal null) then
invoke Singleton "NEW" returning localSingleton
set instance to localSingleton
else
set localSingleton to instance
end-if
end method GetInstance.
end static.
*> Instance's data and methods
object.
environment division.
data division.
working-storage section.
01 counter pic s9(04) value zeros.
procedure division.
method-id. NEW is private.
data division.
procedure division.
move zeros to counter.
end method NEW.
method-id. GetCounter as "GetCounter".
data division.
linkage section.
01 localCounter pic s9(04).
procedure division returning localCounter.
add 1 to counter.
move counter to localCounter.
end method GetCounter.
end object.
END CLASS Singleton.
Entiendo que en el dialecto de Fujitsu OO COBOL, STATIC equivale a FACTORY. ¿Es esto cierto?