/* * Copyright (C) 2015 The Android Open Source Project * * 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 com.android.build.gradle.internal.model; import com.android.annotations.NonNull; import com.android.builder.model.NativeLibrary; import java.io.File; import java.io.Serializable; import java.util.List; /** * Implementation of NativeLibrary that is serializable. */ public class NativeLibraryImpl implements NativeLibrary, Serializable{ private static final long serialVersionUID = 1L; @NonNull String name; @NonNull String toolchainName; @NonNull String abi; @NonNull List<File> cIncludeDirs; @NonNull List<File> cppIncludeDirs; @NonNull List<File> cSystemIncludeDirs; @NonNull List<File> cppSystemIncludeDirs; @NonNull List<String> cDefines; @NonNull List<String> cppDefines; @NonNull List<String> cCompilerFlags; @NonNull List<String> cppCompilerFlags; @NonNull List<File> debuggableLibraryFolders; public NativeLibraryImpl( @NonNull String name, @NonNull String toolchainName, @NonNull String abi, @NonNull List<File> cIncludeDirs, @NonNull List<File> cppIncludeDirs, @NonNull List<File> cSystemIncludeDirs, @NonNull List<File> cppSystemIncludeDirs, @NonNull List<String> cDefines, @NonNull List<String> cppDefines, @NonNull List<String> cCompilerFlags, @NonNull List<String> cppCompilerFlags, @NonNull List<File> debuggableLibraryFolders) { this.name = name; this.toolchainName = toolchainName; this.abi = abi; this.cIncludeDirs = cIncludeDirs; this.cppIncludeDirs = cppIncludeDirs; this.cSystemIncludeDirs = cSystemIncludeDirs; this.cppSystemIncludeDirs = cppSystemIncludeDirs; this.cDefines = cDefines; this.cppDefines = cppDefines; this.cCompilerFlags = cCompilerFlags; this.cppCompilerFlags = cppCompilerFlags; this.debuggableLibraryFolders = debuggableLibraryFolders; } @NonNull @Override public String getName() { return name; } @NonNull @Override public String getToolchainName() { return toolchainName; } @NonNull @Override public String getAbi() { return abi; } @NonNull @Override public List<File> getCIncludeDirs() { return cIncludeDirs; } @NonNull @Override public List<File> getCppIncludeDirs() { return cppIncludeDirs; } @NonNull @Override public List<File> getCSystemIncludeDirs() { return cSystemIncludeDirs; } @NonNull @Override public List<File> getCppSystemIncludeDirs() { return cppSystemIncludeDirs; } @NonNull @Override public List<String> getCDefines() { return cDefines; } @NonNull @Override public List<String> getCppDefines() { return cppDefines; } @NonNull @Override public List<String> getCCompilerFlags() { return cCompilerFlags; } @NonNull @Override public List<String> getCppCompilerFlags() { return cppCompilerFlags; } @NonNull @Override public List<File> getDebuggableLibraryFolders() { return debuggableLibraryFolders; } @Override public String toString() { return "NativeLibraryImpl{" + "name='" + name + '\'' + ", toolchainName='" + toolchainName + '\'' + ", cIncludeDirs=" + cIncludeDirs + ", cppIncludeDirs=" + cppIncludeDirs + ", cDefines=" + cDefines + ", cppDefines=" + cppDefines + ", cCompilerFlags=" + cCompilerFlags + ", cppCompilerFlags=" + cppCompilerFlags + ", solibSearchPaths=" + debuggableLibraryFolders + '}'; } }