
package org.osgi.service.tr069todmt;

/**
 * Maps to the TR-069 {@code ParameterInfoStruct} that is returned from the
 * {@link TR069Connector#getParameterNames(String, boolean)} method.
 */
public interface ParameterInfo {

	/**
	 * The path of the parameter, either a parameter path, an instance path, a
	 * table path, or an object path.
	 * 
	 * @return The name of the parameter
	 */
	String getPath();

	/**
	 * Return {@code true} if this parameter is writeable, otherwise
	 * {@code false}. A parameter is writeable if the SetParamaterValue with the
	 * given name would be successful if an appropriate value was given. If this
	 * is a table path, the method specifies whether or not AddObject would be
	 * successful. If the parameter path points to a table instance, the method
	 * specifies whether or not DeleteObject would be successful.
	 * 
	 * @return If this parameter is writeable
	 */
	boolean isWriteable();

	/**
	 * Returns {@code true} of this is a parameter, if it returns {@code false}
	 * it is an object or table.
	 * 
	 * @return {@code true} for a parameter, {@code false} otherwise
	 */
	boolean isParameter();

	/**
	 * Provide the value of the node. This method throws an exception if it is
	 * called for anything but a parameter
	 * 
	 * @return The Parameter Value of the corresponding object
	 * @throws TR069Exception If there is a problem
	 */

	ParameterValue getParameterValue() throws TR069Exception;
}

@@ -1,8 +1,640 @@
+/*%0A * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A
 %0Apackage

Add missing license notice