Package weka.core

Class PropertyPath

java.lang.Object
weka.core.PropertyPath
All Implemented Interfaces:
RevisionHandler

public class PropertyPath extends Object implements RevisionHandler
A helper class for accessing properties in nested objects, e.g., accessing the "getRidge" method of a LinearRegression classifier part of MultipleClassifierCombiner, e.g., Vote. For doing so, one needs to supply the object to work on and a property path. The property path is a dot delimited path of property names ("getFoo()" and "setFoo(int)" have "foo" as property name), indices of arrays are 0-based. E.g.:

getPropertyDescriptor(vote, "classifiers[1].ridge") will return the second classifier (which should be our LinearRegression) of the given Vote meta-classifier and there the property descriptor of the "ridge" property. getValue(...) will return the actual value of the ridge parameter and setValue(...) will set it.

Version:
$Revision: 8034 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
  • Constructor Details

    • PropertyPath

      public PropertyPath()
  • Method Details

    • find

      public static weka.core.PropertyPath.PropertyContainer find(Object src, PropertyPath.Path path)
      returns the property and object associated with the given path, null if a problem occurred.
      Parameters:
      src - the object to start from
      path - the path to follow
      Returns:
      not null, if the property could be found
    • getPropertyDescriptor

      public static PropertyDescriptor getPropertyDescriptor(Object src, PropertyPath.Path path)
      returns the property associated with the given path, null if a problem occurred.
      Parameters:
      src - the object to start from
      path - the path to follow
      Returns:
      not null, if the property could be found
    • getPropertyDescriptor

      public static PropertyDescriptor getPropertyDescriptor(Object src, String path)
      returns the property associated with the given path
      Parameters:
      src - the object to start from
      path - the path to follow
      Returns:
      not null, if the property could be found
    • getValue

      public static Object getValue(Object src, PropertyPath.Path path)
      returns the value specified by the given path from the object
      Parameters:
      src - the object to work on
      path - the retrieval path
      Returns:
      the value, null if an error occurred
    • getValue

      public static Object getValue(Object src, String path)
      returns the value specified by the given path from the object
      Parameters:
      src - the object to work on
      path - the retrieval path
      Returns:
      the value, null if an error occurred
    • setValue

      public static boolean setValue(Object src, PropertyPath.Path path, Object value)
      set the given value specified by the given path in the object
      Parameters:
      src - the object to work on
      path - the retrieval path
      value - the value to set
      Returns:
      true if the value could be set
    • setValue

      public static void setValue(Object src, String path, Object value)
      set the given value specified by the given path in the object
      Parameters:
      src - the object to work on
      path - the retrieval path
      value - the value to set
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision
    • main

      public static void main(String[] args) throws Exception
      for testing only
      Parameters:
      args - the commandline options - ignored
      Throws:
      Exception - if something goes wrong