Class FreeplaneScriptBaseClass

java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.lang.Script
org.freeplane.plugin.script.FreeplaneScriptBaseClass
All Implemented Interfaces:
groovy.lang.GroovyObject

public abstract class FreeplaneScriptBaseClass extends groovy.lang.Script
All methods of this class are available as "global" methods in every script. Only documented methods are meant to be used in scripts.

The following global objects are provided as shortcuts by the binding of this class:

The following classes may also be useful in scripting:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Accessor for Freeplane's configuration: In scripts available as "global variable" config.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    format(Object object)
    Applies default date-time format for dates or default number format for numbers.
    format(Object object, String formatString)
    uses formatString to return a FormattedObject.
    Applies default date format (instead of standard date-time) format on the given date.
    getProperty(String property)
     
    ifNull(Object value, Object valueIfNull)
    returns valueIfNull if value is null and value otherwise.
    invokeMethod(String methodName, Object args)
     
    void
    loadUri(URI uri)
    opens a URI
    N(String id)
    Shortcut for node.map.node(id) - necessary for ids to other maps.
    parse(String text)
    parses text to the proper data type, if possible, setting format to the standard.
    rounds a number to integral type.
    round(Double d, int precision)
    round to the given number of decimal places: round(0.1234, 2) → 0.12
    T(String id)
    Shortcut for node.map.node(id).text.
     
    formats according to the internal standard, that is the conversion will be reversible for types that are handled special by the scripting api namely Dates and Numbers.
    V(String id)
    Shortcut for node.map.node(id).value.

    Methods inherited from class groovy.lang.Script

    evaluate, evaluate, getBinding, print, printf, printf, println, println, run, run, setBinding, setProperty

    Methods inherited from class groovy.lang.GroovyObjectSupport

    getMetaClass, setMetaClass

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • FreeplaneScriptBaseClass

      public FreeplaneScriptBaseClass()
  • Method Details

    • getProperty

      public Object getProperty(String property)
      Specified by:
      getProperty in interface groovy.lang.GroovyObject
      Overrides:
      getProperty in class groovy.lang.Script
    • invokeMethod

      public Object invokeMethod(String methodName, Object args)
      Specified by:
      invokeMethod in interface groovy.lang.GroovyObject
      Overrides:
      invokeMethod in class groovy.lang.Script
    • N

      public NodeRO N(String id)
      Shortcut for node.map.node(id) - necessary for ids to other maps.
    • T

      public String T(String id)
      Shortcut for node.map.node(id).text.
    • V

      public Object V(String id)
      Shortcut for node.map.node(id).value.
    • ifNull

      public Object ifNull(Object value, Object valueIfNull)
      returns valueIfNull if value is null and value otherwise.
    • round

      public Long round(Double d)
      rounds a number to integral type.
    • round

      public Double round(Double d, int precision)
      round to the given number of decimal places: round(0.1234, 2) → 0.12
    • parse

      public Object parse(String text)
      parses text to the proper data type, if possible, setting format to the standard. Parsing is configured via config file scanner.xml
       assert parse('2012-11-30') instanceof Date
       assert parse('1.22') instanceof Number
       // if parsing fails the original string is returned
       assert parse('2012XX11-30') == '2012XX11-30'
      
       def d = parse('2012-10-30')
       c.statusInfo = "${d} is ${new Date() - d} days ago"
       
    • format

      public Object format(Object object, String formatString)
      uses formatString to return a FormattedObject.

      Note: If you want to format the node core better use the format node attribute instead:

       node.object = new Date()
       node.format = 'dd/MM/yy'
       
      Returns:
      IFormattedObject if object is formattable and the unchanged object otherwise.
    • format

      public Object format(Object object)
      Applies default date-time format for dates or default number format for numbers. All other objects are left unchanged.
      Returns:
      IFormattedObject if object is formattable and the unchanged object otherwise.
    • formatDate

      public Object formatDate(Date date)
      Applies default date format (instead of standard date-time) format on the given date.
      Returns:
      IFormattedObject if object is formattable and the unchanged object otherwise.
    • toString

      public String toString(Object o)
      formats according to the internal standard, that is the conversion will be reversible for types that are handled special by the scripting api namely Dates and Numbers.
      See Also:
    • loadUri

      public void loadUri(URI uri)
      opens a URI
    • toString

      public String toString()
      Overrides:
      toString in class Object