public static String getListKind()

in tools/src/main/java/org/apache/tuscany/sdo/generate/util/SDOGenUtil.java [73:193]


    public static String getListKind(GenFeature genFeature, boolean suppressNotification )
    {
        boolean unsettable = genFeature.isUnsettable();
        
        if (suppressNotification)
        {
            return "ListKind.BASIC";
        }
        else if (genFeature.isEffectiveContains())
        {
            if (genFeature.isBidirectional())
            {
                if (genFeature.isResolveProxies())
                {
                    if( unsettable )
                        return "ListKind.CONTAINMENT_INVERSE_RESOLVING_UNSETTABLE";
                    else
                        return "ListKind.CONTAINMENT_INVERSE_RESOLVING";
                }
                else
                {
                    if( unsettable )
                        return "ListKind.CONTAINMENT_INVERSE_UNSETTABLE";
                    else
                        return "ListKind.CONTAINMENT_INVERSE";
                }
            }
            else
            {
                if (genFeature.isResolveProxies())
                {
                    if( unsettable )
                        return "ListKind.CONTAINMENT_RESOLVING_UNSETTABLE";
                    else
                        return "ListKind.CONTAINMENT_RESOLVING";
                }
                else
                {
                    if( unsettable )
                        return "ListKind.CONTAINMENT_UNSETTABLE";
                    else
                        return "ListKind.CONTAINMENT";
                }
            }
        }
        else if (genFeature.isReferenceType())
        {
            if (genFeature.isBidirectional())
            {
                GenFeature reverseFeature = genFeature.getReverse();
                if (genFeature.isResolveProxies())
                {
                    if (reverseFeature.isListType())
                    {
                        if( unsettable )
                            return "ListKind.NONCONTAINMENT_MANYINVERSE_RESOLVING_UNSETTABLE";
                        else
                            return "ListKind.NONCONTAINMENT_MANYINVERSE_RESOLVING";
                    }
                    else
                    {
                        if( unsettable )
                            return "ListKind.NONCONTAINMENT_INVERSE_RESOLVING_UNSETTABLE";
                        else
                            return "ListKind.NONCONTAINMENT_INVERSE_RESOLVING";
                    }
                }
                else
                {
                    if (reverseFeature.isListType())
                    {
                        if( unsettable )
                            return "ListKind.NONCONTAINMENT_MANYINVERSE_UNSETTABLE";
                        else
                            return "ListKind.NONCONTAINMENT_MANYINVERSE";
                    }
                    else
                    {
                        if( unsettable )
                            return "ListKind.NONCONTAINMENT_INVERSE_UNSETTABLE";
                        else
                            return "ListKind.NONCONTAINMENT_INVERSE";
                    }
                }
            }
            else
            {
                if (genFeature.isResolveProxies())
                {
                    if( unsettable )
                        return "ListKind.NONCONTAINMENT_RESOLVING_UNSETTABLE";
                    else
                        return "ListKind.NONCONTAINMENT_RESOLVING";
                }
                else
                {
                    if( unsettable )
                        return "ListKind.NONCONTAINMENT_UNSETTABLE";
                    else
                        return "ListKind.NONCONTAINMENT";
                }
            }
        }
        else
        {   //datatype
            if (genFeature.isUnique())
            {
                if( unsettable )
                    return "ListKind.DATATYPE_UNIQUE_UNSETTABLE";
                else
                    return "ListKind.DATATYPE_UNIQUE";
            }
            else
            {
                if( unsettable )
                    return "ListKind.DATATYPE_UNSETTABLE";
                else
                    return "ListKind.DATATYPE";
            }
        }
    }