import java.net.URI;

(enclosingScript()).accept {
    provider = 'Freeplane'

    property name: 'c', type: 'org.freeplane.plugin.script.proxy.Proxy.Controller'
    property name: 'node', type: 'org.freeplane.plugin.script.proxy.Proxy.Node'
    property name: 'logger', type: 'org.freeplane.core.util.LogUtils'
    property name: 'ui', type: 'org.freeplane.core.ui.components.UITools'
    property name: 'htmlUtils', type: 'org.freeplane.core.util.HtmlUtils'
    property name: 'textUtils', type: 'org.freeplane.core.util.TextUtils'
    property name: 'config', type: 'org.freeplane.plugin.script.FreeplaneScriptBaseClass.ConfigProperties'

    method name: 'N',
        type: 'org.freeplane.plugin.script.proxy.Proxy.Node',
        params: [id: 'java.lang.String'],
        doc: 'returns the node with the given id or null if not available'
    method name: 'T',
        type: 'java.lang.String',
        params: [id: 'java.lang.String'],
        doc: 'returns the text of the node with the given id or null if the node is not available'
    method name: 'V',
        type: 'java.lang.Object',
        params: [id: 'java.lang.String'],
        doc: 'returns the value of the node with the given id or null if the node is not available'
    method name: 'ifNull',
        type: 'java.lang.Object',
        params: [value: 'java.lang.String', valueIfNull: 'java.lang.Object'],
        doc: 'returns valueIfNull if value is null and value otherwise'
    method name: 'round',
        type: 'java.lang.Long',
        params: [d: 'java.lang.Double'],
        doc: 'rounds a number to integral type'
    method name: 'round',
        type: 'java.lang.Double',
        params: [d: 'java.lang.Double', precision: 'java.lang.Integer'],
        doc: 'round to the given number of decimal places: round(0.1234, 2) -> 0.12'
    method name: 'parse',
        type: 'java.lang.Object',
        params: [text: 'java.lang.String'],
        doc: 'parses text to the proper data type, if possible, setting format to the standard.'
    method name: 'format',
        type: 'java.lang.Object',
        params: [object: 'java.lang.Object', formatString: 'java.lang.String'],
        doc: 'uses formatString to return a FormattedObject'
    method name: 'format',
        type: 'java.lang.Object',
        params: [object: 'java.lang.Object'],
        doc: 'Applies default date-time format for dates or default number format for numbers'
    method name: 'toString',
        type: 'java.lang.String',
        params: [object: 'java.lang.Object'],
        doc: 'formats according to the internal standard'
    method name: 'loadUri',
        type: 'void',
        params: [object: 'java.net.URI'],
        doc: 'opens a URI'
}
