net.sourceforge.javadpkg.plugin.reflect.PropertyReflection Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dpkg-maven-plugin Show documentation
Show all versions of dpkg-maven-plugin Show documentation
The plugin for creating Debian Packages during a Maven build process.
The newest version!
/*
* dpkg - Debian Package library and the Debian Package Maven plugin
* (c) Copyright 2016 Gerrit Hohl
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package net.sourceforge.javadpkg.plugin.reflect;
/**
*
* The property reflection offers method for accessing property values by using
* reflection.
*
*
* @author Gerrit Hohl ([email protected])
* @version 1.0, 04.05.2016 by Gerrit Hohl
*/
public interface PropertyReflection {
/**
*
* Returns the value for the specified path.
*
*
* The path contains the name of the property which value should be
* returned. It also works for in-deep properties.
*
* - "car" - returns the value of the "car" property
* of the object.
* - "car.engine.status" - gets the "car" property of
* the object, then gets the "engine" property of the
* "car", finally gets the "status" property of the
* "engine" property and returns it.
*
*
*
* @param obj
* The object.
* @param path
* The path.
* @return The value of the property or null
, if the property
* is null
.
* @throws IllegalArgumentException
* If any of the parameters are null
.
* @throws PropertyReflectionException
* If an error occurs.
*/
Object getValue(Object obj, String path) throws PropertyReflectionException;
}