package org.opendaylight.yangtools.yang.data.api.schema.tree;
import com.google.common.annotations.Beta;
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
/**
* Tip of a data tree instance. It acts as a point to which modifications can be applied.
*/
-// FIXME: 3.0.0: Use @NonNullByDefault
@Beta
+@NonNullByDefault
public interface DataTreeTip {
/**
* Validate whether a particular modification can be applied to the data tree.
*
* @param modification Data tree modification.
* @throws DataValidationFailedException If modification data is not valid.
+ * @throws NullPointerException if modification is null
+ * @throws IllegalArgumentException if modification is unrecognized
*/
- // FIXME: 3.0.0: document NullPointerException being thrown
- // FIXME: 3.0.0: document IllegalArgumentException being thrown
void validate(DataTreeModification modification) throws DataValidationFailedException;
/**
*
* @param modification Data tree modification.
* @return candidate data tree
+ * @throws NullPointerException if modification is null
+ * @throws IllegalArgumentException if modification is unrecognized
*/
- // FIXME: 3.0.0: document NullPointerException being thrown
- // FIXME: 3.0.0: document IllegalArgumentException being thrown
- // FIXME: 3.0.0: throw DataValidationFailedException or similar
+ // FIXME: 4.0.0: throw DataValidationFailedException or similar
DataTreeCandidateTip prepare(DataTreeModification modification);
/**
* equals implementation must result in identity comparison.
*/
@Override
- boolean equals(Object obj);
+ boolean equals(@Nullable Object obj);
}