001    // Copyright 2010 Waterken Inc. under the terms of the MIT X license
002    // found at http://www.opensource.org/licenses/mit-license.html
003    package org.waterken.syntax;
004    
005    import org.joe_e.Powerless;
006    import org.ref_send.deserializer;
007    import org.ref_send.name;
008    import org.ref_send.Record;
009    
010    /**
011     * Signals a {@link Record} that does not have a constructor meeting all of the
012     * requirements for a {@link deserializer}.
013     */
014    public class
015    MissingDeserializer extends ClassCastException implements Powerless {
016        static private final long serialVersionUID = 1L;
017        
018        /**
019         * name of type that is missing a {@link deserializer}
020         */
021        public final String typename;
022        
023        /**
024         * Constructs an instance.
025         * @param typename  {@link #typename}
026         */
027        public @deserializer
028        MissingDeserializer(@name("typename") final String typename) {
029            super(typename);
030            this.typename = typename;
031        }
032    }