/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.jackrabbit.oak.namepath;

/**
 * TODO
 */
public interface PathMapper {

    String getOakPath(String jcrPath);

    String getJcrPath(String oakPath);

}

@@ -896,43 +896,826 @@
     
-String getOakPath(String jcrPath);%0A
+/**%0A     * Returns the Oak path for the given JCR path, or %7B@code null%7D if no%0A     * such mapping exists because the given JCR path contains a name element%0A     * with an unknown namespace URI or prefix, or is otherwise invalid.%0A     *%0A     * @param jcrPath JCR path%0A     * @return Oak path, or %7B@code null%7D%0A     */%0A    String getOakPath(String jcrPath);%0A%0A    /**%0A     * Returns the JCR path for the given Oak path. The given path is%0A     * expected to have come from a valid Oak repository that contains%0A     * only valid paths whose name elements only use proper namespace%0A     * mappings. If that's not the case, either a programming error or%0A     * a repository corruption has occurred and an appropriate unchecked%0A     * exception gets thrown.%0A     *%0A     * @param oakPath Oak path%0A     * @return JCR path%0A     */
 %0A   

Improve exception handling