| /* |
| * 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 PrintField attribute object. |
| * |
| * @author <a href="mailto:Johannes%20Koch%20%3Ckoch@apache.org%3E">Johannes Koch</a> |
| * @version $Revision: $ |
| */ |
| public class PDPrintFieldAttributeObject extends PDStandardAttributeObject |
| { |
| |
| /** |
| * standard attribute owner: PrintField |
| */ |
| public static final String OWNER_PRINT_FIELD = "PrintField"; |
| |
| private static final String ROLE = "Role"; |
| private static final String CHECKED = "checked"; |
| private static final String DESC = "Desc"; |
| |
| /** |
| * role: rb: Radio button |
| */ |
| public static final String ROLE_RB = "rb"; |
| /** |
| * role: cb: Check box |
| */ |
| public static final String ROLE_CB = "cb"; |
| /** |
| * role: pb: Push button |
| */ |
| public static final String ROLE_PB = "pb"; |
| /** |
| * role: tv: Text-value field |
| */ |
| public static final String ROLE_TV = "tv"; |
| /** |
| * checked state: on |
| */ |
| public static final String CHECKED_STATE_ON = "on"; |
| /** |
| * checked state: off |
| */ |
| public static final String CHECKED_STATE_OFF = "off"; |
| /** |
| * checked state: neutral |
| */ |
| public static final String CHECKED_STATE_NEUTRAL = "neutral"; |
| |
| |
| /** |
| * Default constructor. |
| */ |
| public PDPrintFieldAttributeObject() |
| { |
| this.setOwner(OWNER_PRINT_FIELD); |
| } |
| |
| /** |
| * Creates a new PrintField attribute object with a given dictionary. |
| * |
| * @param dictionary the dictionary |
| */ |
| public PDPrintFieldAttributeObject(COSDictionary dictionary) |
| { |
| super(dictionary); |
| } |
| |
| |
| /** |
| * Gets the role. |
| * |
| * @return the role |
| */ |
| public String getRole() |
| { |
| return this.getName(ROLE); |
| } |
| |
| /** |
| * Sets the role. The value of Role shall be one of the following: |
| * <ul> |
| * <li>{@link #ROLE_RB},</li> |
| * <li>{@link #ROLE_CB},</li> |
| * <li>{@link #ROLE_PB},</li> |
| * <li>{@link #ROLE_TV}.</li> |
| * </ul> |
| * |
| * @param role the role |
| */ |
| public void setRole(String role) |
| { |
| this.setName(ROLE, role); |
| } |
| |
| /** |
| * Gets the checked state. The default value is {@link #CHECKED_STATE_OFF}. |
| * |
| * @return the checked state |
| */ |
| public String getCheckedState() |
| { |
| return this.getName(CHECKED, CHECKED_STATE_OFF); |
| } |
| |
| /** |
| * Sets the checked state. The value shall be one of: |
| * <ul> |
| * <li>{@link #CHECKED_STATE_ON},</li> |
| * <li>{@link #CHECKED_STATE_OFF} (default), or</li> |
| * <li>{@link #CHECKED_STATE_NEUTRAL}.</li> |
| * </ul> |
| * |
| * @param checkedState the checked state |
| */ |
| public void setCheckedState(String checkedState) |
| { |
| this.setName(CHECKED, checkedState); |
| } |
| |
| /** |
| * Gets the alternate name of the field (Desc). |
| * |
| * @return the alternate name of the field |
| */ |
| public String getAlternateName() |
| { |
| return this.getString(DESC); |
| } |
| |
| /** |
| * Sets the alternate name of the field (Desc). |
| * |
| * @param alternateName the alternate name of the field |
| */ |
| public void setAlternateName(String alternateName) |
| { |
| this.setString(DESC, alternateName); |
| } |
| |
| @Override |
| public String toString() |
| { |
| StringBuilder sb = new StringBuilder().append(super.toString()); |
| if (this.isSpecified(ROLE)) |
| { |
| sb.append(", Role=").append(this.getRole()); |
| } |
| if (this.isSpecified(CHECKED)) |
| { |
| sb.append(", Checked=").append(this.getCheckedState()); |
| } |
| if (this.isSpecified(DESC)) |
| { |
| sb.append(", Desc=").append(this.getAlternateName()); |
| } |
| return sb.toString(); |
| } |
| |
| } |