geoflow_software: Geoflow software class

geoflow_softwareR Documentation

Geoflow software class

Description

This class models a software to be used by geoflow

Format

R6Class object.

Details

geoflow_software

Value

Object of R6Class for modelling a software

Super class

geoflow::geoflowLogger -> geoflow_software

Public fields

id

software id

type

software I/O type ("input" or "output")

software_type

type of software

definition

definition

packages

list of packages required for the software functioning

handler

software handler function

arguments

software arguments

parameters

software parameters

attributes

software attributes

properties

software properties

actions

actions associated with the software

Methods

Public methods

Inherited methods

Method new()

Initializes a software

Usage
geoflow_software$new(
  id = NULL,
  type = NULL,
  software_type,
  packages = list(),
  definition,
  handler,
  arguments,
  attributes = list(),
  actions = list()
)
Arguments
id

id

type

type "input" or "output"

software_type

software type

packages

list of packages required for the software functioning

definition

software definition

handler

software handler function

arguments

software handler arguments

attributes

software attributes

actions

software actions


Method setId()

Sets software ID

Usage
geoflow_software$setId(id)
Arguments
id

id


Method setType()

Set type. Either "input" or "output"

Usage
geoflow_software$setType(type)
Arguments
type

software I/O type


Method setSoftwareType()

Set software type

Usage
geoflow_software$setSoftwareType(software_type)
Arguments
software_type

software type


Method setPackages()

Set software required packages

Usage
geoflow_software$setPackages(packages)
Arguments
packages

list of package names


Method setDefinition()

Set software definition

Usage
geoflow_software$setDefinition(definition)
Arguments
definition

software definition


Method setAttributes()

Set attributes. Function to call when creating an instance of geoflow_software

Usage
geoflow_software$setAttributes(attributes)
Arguments
attributes

named list of attributes


Method setProperties()

Set properties. Function to call to pass argument values for a given geoflow_software

Usage
geoflow_software$setProperties(props)
Arguments
props

named list of properties


Method setArguments()

Set software arguments. Function to call when creating an instance of geoflow_software

Usage
geoflow_software$setArguments(arguments)
Arguments
arguments

list of software arguments


Method setParameters()

Set parameters. Function to call to pass argument values for a given geoflow_software

Usage
geoflow_software$setParameters(params)
Arguments
params

named list of parameters


Method setActions()

Set software actions

Usage
geoflow_software$setActions(actions)
Arguments
actions

a list of geoflow_action


Method setHandler()

Set the software handler function

Usage
geoflow_software$setHandler(handler)
Arguments
handler

object of class function


Method checkPackages()

Check that all packages required for the software are available, if yes, import them in the R session, and return a data.frame giving the packages names and version. If one or more packages are unavailable, an error is thrown and user informed of the missing packages.

Usage
geoflow_software$checkPackages()

Method getHandlerInstance()

Get the software handler instance

Usage
geoflow_software$getHandlerInstance()
Returns

an object instance of the software handler


Method clone()

The objects of this class are cloneable with this method.

Usage
geoflow_software$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

Emmanuel Blondel <emmanuel.blondel1@gmail.com>

Examples

## Not run: 
  software<- geoflow_software$new(
   id = "some-id",
   type = "output",
   software_type = "software",
   definition = "definition",
   packages = list(),
   handler = function(){},
   arguments = list(
     url = list(def = "the software url")
   ),
   attributes = list(
     workspace = list(def = "a workspace name in the software")
   )
 )

## End(Not run)


geoflow documentation built on Dec. 12, 2025, 5:08 p.m.