1f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// =================================================================================================
2f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// ADOBE SYSTEMS INCORPORATED
3f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// Copyright 2006 Adobe Systems Incorporated
4f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// All Rights Reserved
5f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling//
6f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the terms
7f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// of the Adobe license agreement accompanying it.
8f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling// =================================================================================================
9f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
10f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberlingpackage com.adobe.xmp.properties;
11f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
12f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberlingimport com.adobe.xmp.options.PropertyOptions;
13f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
14f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
15f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling/**
16f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * This interface is used to return a property together with its path and namespace.
17f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * It is returned when properties are iterated with the <code>XMPIterator</code>.
18f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling *
19f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling * @since   06.07.2006
20f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling */
21f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberlingpublic interface XMPPropertyInfo extends XMPProperty
22f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling{
23f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	/**
24f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 * @return Returns the namespace of the property
25f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 */
26f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	String getNamespace();
27f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
28f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
29f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	/**
30f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 * @return Returns the path of the property, but only if returned by the iterator.
31f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 */
32f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	String getPath();
33f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
34f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
35f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	/**
36f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 * @return Returns the value of the property.
37f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 */
38f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	Object getValue();
39f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
40f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling
41f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	/**
42f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 * @return Returns the options of the property.
43f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	 */
44f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling	PropertyOptions getOptions();
45f12f744843a67c910ec325fc6dfa73988f67b97cSascha Haeberling}
46