/**
 * ObjectRiver Inc, http://www.objectriver.net/
 * Copyright (c) 2002-2013, ObjectRiver(tm). All rights reserved.
 */
Application Dict = com.companyname {
    Endpoint DictEndpoint = 510 {
        Exception DictException {};
        Dictionary<Integer> IntegerDictionary;
        Bean FooBean {
            IntegerDictionary intDict;
        };
        Dictionary<FooBean> FooBeanDictionary;        
        Bean BarBean {
            FooBeanDictionary fooDict;
        };
        /**
         * Primitives
         */
        Dictionary<Long> LongDictionary;
        Dictionary<Character> CharacterDictionary;
        Dictionary<Timestamp> TimestampDictionary;
        Dictionary<Date> DateDictionary;
        Dictionary<Float> FloatDictionary;
        Dictionary<Double> DoubleDictionary;

        Server Stateless { // Stateless, Session, Singleton

			@Path("dictionary_int")
            @Produces(JSON)
            @Consumes(JSON)
            @POST boolean dictionary_body( @In IntegerDictionary intDict) throws DictException;

			@Path("dictionary_return")
            @Produces(JSON)
            @GET IntegerDictionary dictionary_return() throws DictException;

			@Path("dictionary_bean")
            @Produces(JSON)
            @Consumes(JSON)
            @POST boolean dictionary_bean( @In FooBeanDictionary fooDict, @In List<BarBean> barBeanLisr) throws DictException;

			@Path("dictionary_bean_return")
            @Produces(JSON)
            @GET FooBeanDictionary dictionary_bean_return() throws DictException;

			@Path("dictionary_primitives")
            @Produces(JSON)
            @Consumes(JSON)
            @POST Boolean dictionary_primitives(
                @In LongDictionary longDicttionary,
                @In CharacterDictionary characterDicttionary,
                @In TimestampDictionary timestampDicttionary,
                @In DateDictionary dateDicttionary,
                @In FloatDictionary floatDicttionary,
                @In DoubleDictionary doubleDicttionary
                ) throws DictException;
		};
    };
};