/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.ext.java.shared.dto.model; import org.eclipse.che.dto.shared.DTO; import java.util.List; /** * DTO represents java package fragment. * @author Evgen Vidolob */ @DTO public interface PackageFragment extends JavaElement, Openable { /** * Returns all of the class files in this package fragment. * * <p>Note: it is possible that a package fragment contains only * compilation units (in other words, its kind is <code>K_SOURCE</code>), in * which case this method returns an empty collection. * * @return all of the class files in this package fragment */ List<ClassFile> getClassFiles(); void setClassFiles(List<ClassFile> classFiles); /** * Returns all of the compilation units in this package fragment. * * <p>Note: it is possible that a package fragment contains only * class files (in other words, its kind is <code>K_BINARY</code>), in which * case this method returns an empty collection. * </p> * * @return all of the compilation units in this package fragment */ List<CompilationUnit> getCompilationUnits(); void setCompilationUnits(List<CompilationUnit> compilationUnits); /** * Returns this package fragment's root kind encoded as an integer. * A package fragment can contain source files (i.e. files with one of * the Java-like extensions), * or <code>.class</code> files. * * @return this package fragment's root kind encoded as an integer * @see PackageFragmentRoot#K_SOURCE * @see PackageFragmentRoot#K_BINARY */ int getKind(); void setKind(int kind); /** * Returns whether this package fragment is a default package. * This is a handle-only method. * * @return true if this package fragment is a default package */ boolean isDefaultPackage(); void setDefaultPackage(boolean defaultPackage); }