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)

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `PropertyPath.Path`
  Contains a (property) path structure
  `static class`
  `PropertyPath.PathElement`
  Represents a single element of a property path

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PropertyPath()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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.
  `static PropertyDescriptor`
  `getPropertyDescriptor(Object src, String path)`
  returns the property associated with the given path
  `static PropertyDescriptor`
  `getPropertyDescriptor(Object src, PropertyPath.Path path)`
  returns the property associated with the given path, null if a problem occurred.
  `String`
  `getRevision()`
  Returns the revision string.
  `static Object`
  `getValue(Object src, String path)`
  returns the value specified by the given path from the object
  `static Object`
  `getValue(Object src, PropertyPath.Path path)`
  returns the value specified by the given path from the object
  `static void`
  `main(String[] args)`
  for testing only
  `static void`
  `setValue(Object src, String path, Object value)`
  set the given value specified by the given path in the object
  `static boolean`
  `setValue(Object src, PropertyPath.Path path, Object value)`
  set the given value specified by the given path in the object

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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