Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012-2013 the original author or authors.
   *
   * 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.
  */
 
 package org.springframework.boot.loader.tools;
 
 import java.io.File;
 import java.util.Map;
 import java.util.Set;

Common Layouts.

Author(s):
Phillip Webb
Dave Syer
Andy Wilkinson
 
 public class Layouts {

Return the a layout for the given source file.

Parameters:
file the source file
Returns:
a Layout
 
 	public static Layout forFile(File file) {
 		if (file == null) {
 			throw new IllegalArgumentException("File must not be null");
 		}
 		if (file.getName().toLowerCase().endsWith(".jar")) {
 			return new Jar();
 		}
 		if (file.getName().toLowerCase().endsWith(".war")) {
 			return new War();
 		}
 		if (file.isDirectory() || file.getName().toLowerCase().endsWith(".zip")) {
 			return new Expanded();
 		}
 		throw new IllegalStateException("Unable to deduce layout for '" + file + "'");
 	}

Executable JAR layout.
 
 	public static class Jar implements Layout {
 
 			return "org.springframework.boot.loader.JarLauncher";
 		}
 
 		public String getLibraryDestination(String libraryNameLibraryScope scope) {
 			return "lib/";
 		}
 
 		public String getClassesLocation() {
 			return "";
 		}
 
 		public boolean isExecutable() {
 			return true;
 		}
 
 	}

Executable expanded archive layout.
 
 	public static class Expanded extends Jar {
 
 			return "org.springframework.boot.loader.PropertiesLauncher";
 		}
 
 	}

No layout.
 
 	public static class None extends Jar {
			return null;
		}
		public boolean isExecutable() {
			return false;
		}
	}

Executable WAR layout.
	public static class War implements Layout {
		private static final Map<LibraryScopeStringSCOPE_DESTINATIONS;
		static {
			map.put(."WEB-INF/lib/");
			map.put(."WEB-INF/lib/");
			map.put(."WEB-INF/lib/");
			map.put(."WEB-INF/lib-provided/");
			 = Collections.unmodifiableMap(map);
		}
			return "org.springframework.boot.loader.WarLauncher";
		}
		public String getLibraryDestination(String libraryNameLibraryScope scope) {
			return .get(scope);
		}
			return "WEB-INF/classes/";
		}
		public boolean isExecutable() {
			return true;
		}
	}

Module layout (designed to be used as a "plug-in")
	public static class Module implements Layout {
		private static final Set<LibraryScopeLIB_DESTINATION_SCOPES = new HashSet<LibraryScope>(
			return null;
		}
		public String getLibraryDestination(String libraryNameLibraryScope scope) {
				return "lib/";
			}
			return null;
		}
			return "";
		}
		public boolean isExecutable() {
			return false;
		}
	}
New to GrepCode? Check out our FAQ X