/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.pdfbox.pdmodel.documentinterchange.taggedpdf; import org.apache.pdfbox.cos.COSDictionary; /** * A List attribute object. * * @author <a href="mailto:Johannes%20Koch%20%3Ckoch@apache.org%3E">Johannes Koch</a> * @version $Revision: $ */ public class PDListAttributeObject extends PDStandardAttributeObject { /** * standard attribute owner: List */ public static final String OWNER_LIST = "List"; protected static final String LIST_NUMBERING = "ListNumbering"; /** * ListNumbering: Circle: Open circular bullet */ public static final String LIST_NUMBERING_CIRCLE = "Circle"; /** * ListNumbering: Decimal: Decimal arabic numerals (1–9, 10–99, …) */ public static final String LIST_NUMBERING_DECIMAL = "Decimal"; /** * ListNumbering: Disc: Solid circular bullet */ public static final String LIST_NUMBERING_DISC = "Disc"; /** * ListNumbering: LowerAlpha: Lowercase letters (a, b, c, …) */ public static final String LIST_NUMBERING_LOWER_ALPHA = "LowerAlpha"; /** * ListNumbering: LowerRoman: Lowercase roman numerals (i, ii, iii, iv, …) */ public static final String LIST_NUMBERING_LOWER_ROMAN = "LowerRoman"; /** * ListNumbering: None: No autonumbering; Lbl elements (if present) contain arbitrary text * not subject to any numbering scheme */ public static final String LIST_NUMBERING_NONE = "None"; /** * ListNumbering: Square: Solid square bullet */ public static final String LIST_NUMBERING_SQUARE = "Square"; /** * ListNumbering: UpperAlpha: Uppercase letters (A, B, C, …) */ public static final String LIST_NUMBERING_UPPER_ALPHA = "UpperAlpha"; /** * ListNumbering: UpperRoman: Uppercase roman numerals (I, II, III, IV, …) */ public static final String LIST_NUMBERING_UPPER_ROMAN = "UpperRoman"; /** * Default constructor. */ public PDListAttributeObject() { this.setOwner(OWNER_LIST); } /** * Creates a new List attribute object with a given dictionary. * * @param dictionary the dictionary */ public PDListAttributeObject(COSDictionary dictionary) { super(dictionary); } /** * Gets the list numbering (ListNumbering). The default value is * {@link #LIST_NUMBERING_NONE}. * * @return the list numbering */ public String getListNumbering() { return this.getName(LIST_NUMBERING, LIST_NUMBERING_NONE); } /** * Sets the list numbering (ListNumbering). The value shall be one of the * following: * <ul> * <li>{@link #LIST_NUMBERING_NONE},</li> * <li>{@link #LIST_NUMBERING_DISC},</li> * <li>{@link #LIST_NUMBERING_CIRCLE},</li> * <li>{@link #LIST_NUMBERING_SQUARE},</li> * <li>{@link #LIST_NUMBERING_DECIMAL},</li> * <li>{@link #LIST_NUMBERING_UPPER_ROMAN},</li> * <li>{@link #LIST_NUMBERING_LOWER_ROMAN},</li> * <li>{@link #LIST_NUMBERING_UPPER_ALPHA},</li> * <li>{@link #LIST_NUMBERING_LOWER_ALPHA}.</li> * </ul> * * @param listNumbering the list numbering */ public void setListNumbering(String listNumbering) { this.setName(LIST_NUMBERING, listNumbering); } @Override public String toString() { StringBuilder sb = new StringBuilder().append(super.toString()); if (this.isSpecified(LIST_NUMBERING)) { sb.append(", ListNumbering=").append(this.getListNumbering()); } return sb.toString(); } }