All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.valkyriercp.binding.PropertyMetadataAccessStrategy Maven / Gradle / Ivy

There is a newer version: 1.3
Show newest version
package org.valkyriercp.binding;

import java.util.Map;

/**
 * Simple interface for accessing metadata about a particular property.
 *
 * @author Keith Donald
 */
public interface PropertyMetadataAccessStrategy {

	/**
	 * Determine if the given property is readable.
	 *
	 * @param propertyName property to examine.
	 * @return true if the property is readable.
	 */
	boolean isReadable(String propertyName);

	/**
	 * Determine if the given property is writeable.
	 *
	 * @param propertyName property to examine.
	 * @return true if the property is writeable.
	 */
	boolean isWriteable(String propertyName);

	/**
	 * Get the type of the given property.
	 *
	 * @param propertyName property to examine.
	 * @return the type of the property.
	 */
	Class getPropertyType(String propertyName);

	/**
	 * Returns custom metadata that may be associated with the specified
	 * property path.
	 *
	 * @param propertyName property to examine.
	 * @param key used to retreive the metadata.
	 * @return Object stored under the given key.
	 */
	Object getUserMetadata(String propertyName, String key);

	/**
	 * Returns all custom metadata associated with the specified property in the
	 * form of a Map.
	 *
	 * @param propertyName property to examine.
	 * @return Map containing String keys - this method may or may not return
	 * null if there is no custom metadata associated with the
	 * property.
	 */
	Map getAllUserMetadata(String propertyName);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy