1 /* 2 * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.javadoc; 27 28 import com.google.doclava.annotation.Unused; 29 30 /** 31 * Documents a Serializable field defined by an ObjectStreamField. 32 * <pre> 33 * The class parses and stores the three serialField tag parameters: 34 * 35 * - field name 36 * - field type name 37 * (fully-qualified or visible from the current import context) 38 * - description of the valid values for the field 39 40 * </pre> 41 * This tag is only allowed in the javadoc for the special member 42 * serialPersistentFields. 43 * 44 * @author Joe Fialli 45 * 46 * @see java.io.ObjectStreamField 47 */ 48 public interface SerialFieldTag extends Tag, Comparable<Object> { 49 50 /** 51 * Return the serializable field name. 52 */ 53 @Unused fieldName()54 String fieldName(); 55 56 /** 57 * Return the field type string. 58 */ 59 @Unused fieldType()60 String fieldType(); 61 62 /** 63 * Return the ClassDoc for field type. 64 * 65 * @return null if no ClassDoc for field type is visible from 66 * containingClass context. 67 */ 68 @Unused fieldTypeDoc()69 ClassDoc fieldTypeDoc(); 70 71 /** 72 * Return the field comment. If there is no serialField comment, return 73 * javadoc comment of corresponding FieldDoc. 74 */ 75 @Unused description()76 String description(); 77 78 /** 79 * Compares this Object with the specified Object for order. Returns a 80 * negative integer, zero, or a positive integer as this Object is less 81 * than, equal to, or greater than the given Object. 82 * <p> 83 * Included to make SerialFieldTag items java.lang.Comparable. 84 * 85 * @param obj the <code>Object</code> to be compared. 86 * @return a negative integer, zero, or a positive integer as this Object 87 * is less than, equal to, or greater than the given Object. 88 * @exception ClassCastException the specified Object's type prevents it 89 * from being compared to this Object. 90 * @since 1.2 91 */ compareTo(Object obj)92 int compareTo(Object obj); 93 } 94