/******************************************************************************* * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * *******************************************************************************/ package com.liferay.ide.adt.core.model; import com.liferay.ide.adt.core.model.internal.JavaPackageNameDefaultValueService; import com.liferay.ide.adt.core.model.internal.JavaProjectConversionService; import com.liferay.ide.adt.core.model.internal.GenerateCustomServicesOpMethods; import com.liferay.ide.adt.core.model.internal.StatusDerivedValueService; import com.liferay.ide.adt.core.model.internal.SummaryDerivedValueService; import org.eclipse.sapphire.ElementList; import org.eclipse.sapphire.ElementType; import org.eclipse.sapphire.ExecutableElement; import org.eclipse.sapphire.ListProperty; import org.eclipse.sapphire.Value; import org.eclipse.sapphire.ValueProperty; import org.eclipse.sapphire.java.JavaPackageName; import org.eclipse.sapphire.modeling.ProgressMonitor; import org.eclipse.sapphire.modeling.Status; import org.eclipse.sapphire.modeling.annotations.DelegateImplementation; import org.eclipse.sapphire.modeling.annotations.Derived; import org.eclipse.sapphire.modeling.annotations.Label; import org.eclipse.sapphire.modeling.annotations.ReadOnly; import org.eclipse.sapphire.modeling.annotations.Service; import org.eclipse.sapphire.modeling.annotations.Type; /** * @author Gregory Amerson * @author Kuo Zhang */ @Service( impl = JavaProjectConversionService.class ) public interface GenerateCustomServicesOp extends ServerInstance, ExecutableElement { ElementType TYPE = new ElementType( GenerateCustomServicesOp.class ); // *** ProjectName *** ValueProperty PROP_PROJECT_NAME = new ValueProperty( TYPE, "ProjectName" ); Value<String> getProjectName(); void setProjectName( String value ); // *** Summary *** @Derived @ReadOnly @Service( impl = SummaryDerivedValueService.class ) ValueProperty PROP_SUMMARY = new ValueProperty( TYPE, ServerInstance.PROP_SUMMARY ); // *** Status *** @Label( standard = "status" ) @Derived @Service( impl = StatusDerivedValueService.class ) ValueProperty PROP_STATUS = new ValueProperty( TYPE, "Status" ); Value<String> getStatus(); void setStatus( String value ); // *** PreviousServerInstances *** @Type( base = ServerInstance.class ) ListProperty PROP_PREVIOUS_SERVER_INSTANCES = new ListProperty( TYPE, "PreviousServerInstances" ); ElementList<ServerInstance> getPreviousServerInstances(); // *** Libraries *** @Type( base = Library.class ) ListProperty PROP_LIBRARIES = new ListProperty( TYPE, "Libraries" ); ElementList<Library> getLibraries(); // *** Package *** @Type( base = JavaPackageName.class ) @Service( impl = JavaPackageNameDefaultValueService.class ) ValueProperty PROP_PACKAGE = new ValueProperty( TYPE, "Package" ); Value<JavaPackageName> getPackage(); void setPackage( String value ); void setPackage( JavaPackageName value ); // *** AddSampleCode *** @Type( base = Boolean.class ) @Label( standard = "add sample code for CRUD on Liferay Contacts" ) ValueProperty PROP_ADD_SAMPLE_CODE = new ValueProperty( TYPE, "AddSampleCode" ); Value<Boolean> getAddSampleCode(); void setAddSampleCode( String value ); void setAddSampleCode( Boolean value ); // *** Method: execute *** @DelegateImplementation( GenerateCustomServicesOpMethods.class ) Status execute( ProgressMonitor monitor ); @DelegateImplementation( GenerateCustomServicesOpMethods.class ) void updateServerStatus(); }