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: 4742 $
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