/******************************************************************************
* Copyright (c) 2016 Oracle
* 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:
* Konstantin Komissarchik - initial implementation and ongoing maintenance
******************************************************************************/
package org.eclipse.sapphire.tests.java.t0005;
import org.eclipse.sapphire.Element;
import org.eclipse.sapphire.ElementType;
import org.eclipse.sapphire.ReferenceValue;
import org.eclipse.sapphire.Type;
import org.eclipse.sapphire.ValueProperty;
import org.eclipse.sapphire.java.JavaType;
import org.eclipse.sapphire.java.JavaTypeConstraint;
import org.eclipse.sapphire.java.JavaTypeConstraintBehavior;
import org.eclipse.sapphire.java.JavaTypeKind;
import org.eclipse.sapphire.java.JavaTypeName;
import org.eclipse.sapphire.modeling.annotations.Reference;
/**
* @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
*/
public interface TestRootElement extends Element
{
ElementType TYPE = new ElementType( TestRootElement.class );
// *** KindOne ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( kind = JavaTypeKind.CLASS )
ValueProperty PROP_KIND_ONE = new ValueProperty( TYPE, "KindOne" );
ReferenceValue<JavaTypeName,JavaType> getKindOne();
void setKindOne( String value );
void setKindOne( JavaTypeName value );
void setKindOne( JavaType value );
// *** KindTwo ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( kind = { JavaTypeKind.CLASS, JavaTypeKind.ABSTRACT_CLASS } )
ValueProperty PROP_KIND_TWO = new ValueProperty( TYPE, "KindTwo" );
ReferenceValue<JavaTypeName,JavaType> getKindTwo();
void setKindTwo( String value );
void setKindTwo( JavaTypeName value );
void setKindTwo( JavaType value );
// *** KindThree ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( kind = { JavaTypeKind.CLASS, JavaTypeKind.ABSTRACT_CLASS, JavaTypeKind.INTERFACE } )
ValueProperty PROP_KIND_THREE = new ValueProperty( TYPE, "KindThree" );
ReferenceValue<JavaTypeName,JavaType> getKindThree();
void setKindThree( String value );
void setKindThree( JavaTypeName value );
void setKindThree( JavaType value );
// *** KindFour ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( kind = { JavaTypeKind.CLASS, JavaTypeKind.ABSTRACT_CLASS, JavaTypeKind.INTERFACE, JavaTypeKind.ANNOTATION } )
ValueProperty PROP_KIND_FOUR = new ValueProperty( TYPE, "KindFour" );
ReferenceValue<JavaTypeName,JavaType> getKindFour();
void setKindFour( String value );
void setKindFour( JavaTypeName value );
void setKindFour( JavaType value );
// *** TypeOne ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( type = "java.util.List" )
ValueProperty PROP_TYPE_ONE = new ValueProperty( TYPE, "TypeOne" );
ReferenceValue<JavaTypeName,JavaType> getTypeOne();
void setTypeOne( String value );
void setTypeOne( JavaTypeName value );
void setTypeOne( JavaType value );
// *** TypeOneOf ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( type = { "java.util.List", "java.util.Set", "java.util.Map" }, behavior = JavaTypeConstraintBehavior.AT_LEAST_ONE )
ValueProperty PROP_TYPE_ONE_OF = new ValueProperty( TYPE, "TypeOneOf" );
ReferenceValue<JavaTypeName,JavaType> getTypeOneOf();
void setTypeOneOf( String value );
void setTypeOneOf( JavaTypeName value );
void setTypeOneOf( JavaType value );
// *** TypeAll ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( type = { "java.util.List", "java.lang.Comparable", "java.lang.Cloneable" } )
ValueProperty PROP_TYPE_ALL = new ValueProperty( TYPE, "TypeAll" );
ReferenceValue<JavaTypeName,JavaType> getTypeAll();
void setTypeAll( String value );
void setTypeAll( JavaTypeName value );
void setTypeAll( JavaType value );
// *** Combo1 ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( kind = JavaTypeKind.CLASS, type = "java.util.List" )
ValueProperty PROP_COMBO_1 = new ValueProperty( TYPE, "Combo1" );
ReferenceValue<JavaTypeName,JavaType> getCombo1();
void setCombo1( String value );
void setCombo1( JavaTypeName value );
void setCombo1( JavaType value );
// *** Combo2 ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( kind = JavaTypeKind.CLASS, type = "java.util.AbstractList" )
ValueProperty PROP_COMBO_2 = new ValueProperty( TYPE, "Combo2" );
ReferenceValue<JavaTypeName,JavaType> getCombo2();
void setCombo2( String value );
void setCombo2( JavaTypeName value );
void setCombo2( JavaType value );
// *** Combo3 ***
@Type( base = JavaTypeName.class )
@Reference( target = JavaType.class )
@JavaTypeConstraint( kind = { JavaTypeKind.CLASS, JavaTypeKind.ABSTRACT_CLASS, JavaTypeKind.INTERFACE }, type = "java.util.List" )
ValueProperty PROP_COMBO_3 = new ValueProperty( TYPE, "Combo3" );
ReferenceValue<JavaTypeName,JavaType> getCombo3();
void setCombo3( String value );
void setCombo3( JavaTypeName value );
void setCombo3( JavaType value );
}