/************************************************************************************* * Copyright (c) 2014 Red Hat, Inc. and others. * 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: * JBoss by Red Hat - Initial implementation. ************************************************************************************/ package org.jboss.tools.batch.ui.editor.internal.model; import org.eclipse.sapphire.ElementHandle; import org.eclipse.sapphire.ElementProperty; import org.eclipse.sapphire.ElementType; import org.eclipse.sapphire.ImpliedElementProperty; import org.eclipse.sapphire.Length; import org.eclipse.sapphire.Type; import org.eclipse.sapphire.Value; import org.eclipse.sapphire.ValueProperty; import org.eclipse.sapphire.modeling.annotations.Image; import org.eclipse.sapphire.modeling.annotations.Label; import org.eclipse.sapphire.modeling.annotations.Required; import org.eclipse.sapphire.modeling.xml.annotations.XmlBinding; /** * * @author Viacheslav Kabanovich * */ @Label( standard = "chunk" ) @Image ( path = "chunk.png" ) @XmlBinding( path = "chunk" ) public interface Chunk extends BatchletOrChunk { ElementType TYPE = new ElementType( Chunk.class ); @Label( standard = "checkpoint-policy" ) @XmlBinding( path = "@checkpoint-policy" ) ValueProperty PROP_CHECKPOINT_POLICY = new ValueProperty( TYPE, "CheckpointPolicy" ); Value<String> getCheckpointPolicy(); void setCheckpointPolicy( String value); @Label( standard = "item-count" ) @XmlBinding( path = "@item-count" ) ValueProperty PROP_ITEM_COUNT = new ValueProperty( TYPE, "ItemCount" ); Value<String> getItemCount(); void setItemCount( String value); @Label( standard = "retry-limit" ) @XmlBinding( path = "@retry-limit" ) ValueProperty PROP_RETRY_LIMIT = new ValueProperty( TYPE, "RetryLimit" ); Value<String> getRetryLimit(); void setRetryLimit( String value); @Label( standard = "skip-limit" ) @XmlBinding( path = "@skip-limit" ) ValueProperty PROP_SKIP_LIMIT = new ValueProperty( TYPE, "SkipLimit" ); Value<String> getSkipLimit(); void setSkipLimit( String value); @Label( standard = "time-limit" ) @XmlBinding( path = "@time-limit" ) ValueProperty PROP_TIME_LIMIT = new ValueProperty( TYPE, "TimeLimit" ); Value<String> getTimeLimit(); void setTimeLimit( String value); @Type( base = Reader.class ) @Label( standard = "Reader" ) @XmlBinding( path = "reader" ) @Length (min=1, max=1) @Required ImpliedElementProperty PROP_READER = new ImpliedElementProperty( TYPE, "Reader" ); Reader getReader(); @Type( base = Processor.class ) @Label( standard = "Processor" ) @XmlBinding( path = "processor" ) @Length (max=1) ElementProperty PROP_PROCESSOR = new ElementProperty( TYPE, "Processor" ); ElementHandle<Processor> getProcessor(); @Type( base = Writer.class ) @Label( standard = "Writer" ) @XmlBinding( path = "writer" ) @Length (min=1, max=1) @Required ImpliedElementProperty PROP_WRITER = new ImpliedElementProperty( TYPE, "Writer" ); Writer getWriter(); @Type( base = CheckpointAlgorithm.class ) @Label( standard = "Checkpoint Algorithm" ) @XmlBinding( path = "checkpoint-algorithm" ) @Length (max=1) ElementProperty PROP_CHECKPOINT_ALGORITHM = new ElementProperty( TYPE, "CheckpointAlgorithm" ); ElementHandle<CheckpointAlgorithm> getCheckpointAlgorithm(); @Type( base = ExceptionClasses.class ) @Label( standard = "skippable-exception-classes" ) @XmlBinding( path = "skippable-exception-classes" ) ElementProperty PROP_SKIPPABLE_EXCEPTION_CLASSES = new ElementProperty( TYPE, "SkippableExceptionClasses" ); ElementHandle<ExceptionClasses> getSkippableExceptionClasses(); @Type( base = ExceptionClasses.class ) @Label( standard = "retryable-exception-classes" ) @XmlBinding( path = "retryable-exception-classes" ) ElementProperty PROP_RETRYABLE_EXCEPTION_CLASSES = new ElementProperty( TYPE, "RetryableExceptionClasses" ); ElementHandle<ExceptionClasses> getRetryableExceptionClasses(); @Type( base = ExceptionClasses.class ) @Label( standard = "no-rollback-exception-classes" ) @XmlBinding( path = "no-rollback-exception-classes" ) ElementProperty PROP_NO_ROLLBACK_EXCEPTION_CLASSES = new ElementProperty( TYPE, "NoRollbackExceptionClasses" ); ElementHandle<ExceptionClasses> getNoRollbackExceptionClasses(); }