Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.cognifide.slice.core.internal.execution;
 
 /*
  * #%L
  * Slice - Core
  * $Id:$
  * $HeadURL:$
  * %%
  * Copyright (C) 2012 Cognifide Limited
 * %%
 * Licensed 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.
 * #L%
 */
This is internal class, should not be used outside of framework.

Author(s):
witoldsz
public final class ExecutionContextStackImpl implements ExecutionContextStack {
	private final Stack<ExecutionContextitems = new Stack<ExecutionContext>();
	private final String rootPath;
	public ExecutionContextStackImpl(final String rootPath) {
		this. = rootPath;
	}
	public ExecutionContext peek() {
		return .peek();
	}
	public void push(final ExecutionContext executionContext) {
		.push(executionContext);
	}
	public ExecutionContext pop() {
		return .pop();
	}
	public int size() {
		return .size();
	}
	private String getRootPath() {
		return ;
	}
	private boolean isEmpty() {
		return .isEmpty();
	}
	private String joinPath(final Object... args) {
		return StringUtils.join(args"/").replace("//""/");
	}
	public String getAbsolutePath(final String path) {
		if (path.charAt(0) == '/') {
			return path;
		}
		if (!path.startsWith("./")) {
			return joinPath(getRootPath(), path);
		}
		if (isEmpty()) {
			throw new InvalidExecutionContextException("Relative path not allowed on top of ExecutionContext: " + path);
		}
		// remove "./" from path
		return joinPath(peek().getPath(), path.substring(2));
	}
New to GrepCode? Check out our FAQ X