| /* |
| * 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. |
| */ |
| |
| /* $Id$ */ |
| |
| package org.apache.fop.afp.modca; |
| |
| /** |
| * MO:DCA Interchange Set |
| */ |
| public class InterchangeSet { |
| /** interchange set 1 string value */ |
| public static final String MODCA_PRESENTATION_INTERCHANGE_SET_1 = "MO:DCA-P IS/1"; |
| |
| /** interchange set 2 string value */ |
| public static final String MODCA_PRESENTATION_INTERCHANGE_SET_2 = "MO:DCA-P IS/2"; |
| |
| /** resource interchange set string value */ |
| public static final String MODCA_RESOURCE_INTERCHANGE_SET = "MO:DCA-L"; |
| |
| private static final String[] NAMES = { |
| MODCA_PRESENTATION_INTERCHANGE_SET_1, |
| MODCA_PRESENTATION_INTERCHANGE_SET_2, |
| MODCA_RESOURCE_INTERCHANGE_SET |
| }; |
| |
| private static final int SET_1 = 0; |
| private static final int SET_2 = 1; |
| private static final int RESOURCE_SET = 2; |
| |
| /** the actual interchange set in use */ |
| private int value; |
| |
| /** |
| * Returns the interchange set value of a given string |
| * |
| * @param str an interchange set value |
| * @return an interchange set |
| */ |
| public static InterchangeSet valueOf(String str) { |
| if (MODCA_PRESENTATION_INTERCHANGE_SET_1.equals(str)) { |
| return new InterchangeSet(SET_1); |
| } else if (MODCA_PRESENTATION_INTERCHANGE_SET_2.equals(str)) { |
| return new InterchangeSet(SET_2); |
| } else if (MODCA_RESOURCE_INTERCHANGE_SET.equals(str)) { |
| return new InterchangeSet(RESOURCE_SET); |
| } else { |
| throw new IllegalArgumentException("Invalid MO:DCA interchange set :" + str); |
| } |
| } |
| |
| /** |
| * Main constructor |
| * |
| * @param value the interchange set value |
| */ |
| public InterchangeSet(int value) { |
| this.value = value; |
| } |
| |
| /** |
| * Returns true if complies with MOD:CA interchange set 1 |
| * |
| * @return true if complies with MOD:CA interchange set 1 |
| */ |
| protected boolean is1() { |
| return value == SET_1; |
| } |
| |
| /** |
| * Returns true if complies with MOD:CA interchange set 2 |
| * |
| * @return true if complies with MOD:CA interchange set 2 |
| */ |
| public boolean is2() { |
| return value == SET_2; |
| } |
| |
| /** |
| * Returns true if complies with MOD:CA resource set |
| * |
| * @return true if complies with MOD:CA resource set |
| */ |
| public boolean isResource() { |
| return value == RESOURCE_SET; |
| } |
| |
| /** {@inheritDoc} */ |
| public String toString() { |
| return NAMES[value]; |
| } |
| |
| /** |
| * Returns true if MOD:CA interchange set 2 (resource groups) is supported |
| * |
| * @return true if MOD:CA interchange set 2 (resource groups) is supported |
| */ |
| public boolean supportsLevel2() { |
| return is2() || isResource(); |
| } |
| } |