blob: ac26b379424dea2a9d8feb2b3d86a7a57e58b9d7 [file] [log] [blame]
/*
* 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.sling.superimposing;
import org.apache.sling.api.resource.ResourceProvider;
/**
* Superimposing resource provider.
* Maps a single source path to the target root path, with or without overlay depending on configuration.
*/
public interface SuperimposingResourceProvider extends ResourceProvider {
/**
* Mixin for superimposing.
*/
String MIXIN_SUPERIMPOSE = "sling:Superimpose";
/**
* Property pointing to an absolute or relative repository path, which this superimpose definition points to.
*/
String PROP_SUPERIMPOSE_SOURCE_PATH = "sling:superimposeSourcePath";
/**
* Property indicating if the node itself is used as root for the superimpose definition (default),
* of it it's parent should be used. The latter is useful in a Page/PageContent scenario
* where the mixin cannot be added on the parent node itself.
*/
String PROP_SUPERIMPOSE_REGISTER_PARENT = "sling:superimposeRegisterParent";
/**
* Property indicating whether this superimposing definition allows the superimposed content
* to be overlayed by real nodes created below the superimposing root node.
* Default value is false.
*/
String PROP_SUPERIMPOSE_OVERLAYABLE = "sling:superimposeOverlayable";
/**
* @return Root path (source path)
*/
String getRootPath();
/**
* @return Target path (destination path)
*/
String getSourcePath();
/**
* @return Overlayable yes/no
*/
boolean isOverlayable();
}