
org.verapdf.gf.model.impl.arlington.GFA3DStream Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of validation-model-arlington Show documentation
Show all versions of validation-model-arlington Show documentation
veraPDF PDF/A validation model implementation based on PDF parser.
The newest version!
/**
* This file is part of veraPDF Validation, a module of the veraPDF project.
* Copyright (c) 2015, veraPDF Consortium
* All rights reserved.
*
* veraPDF Validation is free software: you can redistribute it and/or modify
* it under the terms of either:
*
* The GNU General public license GPLv3+.
* You should have received a copy of the GNU General Public License
* along with veraPDF Validation as the LICENSE.GPL file in the root of the source
* tree. If not, see http://www.gnu.org/licenses/ or
* https://www.gnu.org/licenses/gpl-3.0.en.html.
*
* The Mozilla Public License MPLv2+.
* You should have received a copy of the Mozilla Public License along with
* veraPDF Validation as the LICENSE.MPL file in the root of the source tree.
* If a copy of the MPL was not distributed with this file, you can obtain one at
* http://mozilla.org/MPL/2.0/.
*/
package org.verapdf.gf.model.impl.arlington;
import org.verapdf.cos.*;
import org.verapdf.model.alayer.*;
import org.verapdf.gf.model.impl.containers.StaticContainers;
import org.verapdf.tools.StaticResources;
import java.util.*;
import org.verapdf.pd.PDNameTreeNode;
import org.verapdf.as.ASAtom;
import java.util.stream.Collectors;
import org.verapdf.pd.structure.PDNumberTreeNode;
public class GFA3DStream extends GFAObject implements A3DStream {
public GFA3DStream(COSBase baseObject, COSBase parentObject, String keyName) {
super(baseObject, parentObject, keyName, "A3DStream");
}
@Override
public List extends org.verapdf.model.baselayer.Object> getLinkedObjects(String link) {
switch (link) {
case "AN":
return getAN();
case "ColorSpace":
return getColorSpace();
case "DV":
return getDV();
case "DecodeParms":
return getDecodeParms();
case "F":
return getF();
case "FDecodeParms":
return getFDecodeParms();
case "FFilter":
return getFFilter();
case "Filter":
return getFilter();
case "OnInstantiate":
return getOnInstantiate();
case "Resources":
return getResources();
case "ResourcesTreeNode":
return getResourcesTreeNode();
case "VA":
return getVA();
default:
return super.getLinkedObjects(link);
}
}
private List getAN() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_7:
case ARLINGTON2_0:
return getAN1_7();
default:
return Collections.emptyList();
}
}
private List getAN1_7() {
COSObject object = getANValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_DICT) {
List list = new ArrayList<>(1);
list.add(new GFA3DAnimationStyle((COSDictionary)object.getDirectBase(), this.baseObject, "AN"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getColorSpace() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON2_0:
return getColorSpace2_0();
default:
return Collections.emptyList();
}
}
private List getColorSpace2_0() {
COSObject object = getColorSpaceValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_ARRAY) {
org.verapdf.model.baselayer.Object result = getColorSpaceArray2_0(object.getDirectBase(), "ColorSpace");
List list = new ArrayList<>(1);
if (result != null) {
list.add(result);
}
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private org.verapdf.model.baselayer.Object getColorSpaceArray2_0(COSBase base, String keyName) {
if (base.size() <= 0) {
return null;
}
COSObject subtype = base.at(0);
if (subtype == null) {
return null;
}
String subtypeValue = subtype.getString();
if (subtypeValue == null) {
return null;
}
switch (subtypeValue) {
case "CalRGB":
return new GFACalRGBColorSpace(base, this.baseObject, keyName);
case "ICCBased":
return new GFAICCBasedColorSpace(base, this.baseObject, keyName);
default:
return null;
}
}
private List getDV() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getDV1_6();
default:
return Collections.emptyList();
}
}
private List getDV1_6() {
COSObject object = getDVValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_DICT) {
List list = new ArrayList<>(1);
list.add(new GFA3DView((COSDictionary)object.getDirectBase(), this.baseObject, "DV"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getDecodeParms() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getDecodeParms1_6();
default:
return Collections.emptyList();
}
}
private List getDecodeParms1_6() {
COSObject object = getDecodeParmsValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_ARRAY) {
List list = new ArrayList<>(1);
list.add(new GFAArrayOfDecodeParams((COSArray)object.getDirectBase(), this.baseObject, "DecodeParms"));
return Collections.unmodifiableList(list);
}
if (object.getType() == COSObjType.COS_DICT) {
org.verapdf.model.baselayer.Object result = getDecodeParmsDictionary1_6(object.getDirectBase(), "DecodeParms");
List list = new ArrayList<>(1);
if (result != null) {
list.add(result);
}
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private org.verapdf.model.baselayer.Object getDecodeParmsDictionary1_6(COSBase base, String keyName) {
COSObject subtype = this.baseObject.getKey(ASAtom.getASAtom("Filter"));
if (subtype == null) {
return null;
}
String subtypeValue = subtype.getString();
if (subtypeValue == null) {
return null;
}
switch (subtypeValue) {
case "Crypt":
return new GFAFilterCrypt(base, this.baseObject, keyName);
case "FlateDecode":
return new GFAFilterFlateDecode(base, this.baseObject, keyName);
case "LZWDecode":
return new GFAFilterLZWDecode(base, this.baseObject, keyName);
default:
return null;
}
}
private List getF() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getF1_6();
default:
return Collections.emptyList();
}
}
private List getF1_6() {
COSObject object = getFValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_DICT) {
List list = new ArrayList<>(1);
list.add(new GFAFileSpecification((COSDictionary)object.getDirectBase(), this.baseObject, "F"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getFDecodeParms() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getFDecodeParms1_6();
default:
return Collections.emptyList();
}
}
private List getFDecodeParms1_6() {
COSObject object = getFDecodeParmsValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_ARRAY) {
List list = new ArrayList<>(1);
list.add(new GFAArrayOfDecodeParams((COSArray)object.getDirectBase(), this.baseObject, "FDecodeParms"));
return Collections.unmodifiableList(list);
}
if (object.getType() == COSObjType.COS_DICT) {
org.verapdf.model.baselayer.Object result = getFDecodeParmsDictionary1_6(object.getDirectBase(), "FDecodeParms");
List list = new ArrayList<>(1);
if (result != null) {
list.add(result);
}
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private org.verapdf.model.baselayer.Object getFDecodeParmsDictionary1_6(COSBase base, String keyName) {
COSObject subtype = this.baseObject.getKey(ASAtom.getASAtom("FFilter"));
if (subtype == null) {
return null;
}
String subtypeValue = subtype.getString();
if (subtypeValue == null) {
return null;
}
switch (subtypeValue) {
case "Crypt":
return new GFAFilterCrypt(base, this.baseObject, keyName);
case "FlateDecode":
return new GFAFilterFlateDecode(base, this.baseObject, keyName);
case "LZWDecode":
return new GFAFilterLZWDecode(base, this.baseObject, keyName);
default:
return null;
}
}
private List getFFilter() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getFFilter1_6();
default:
return Collections.emptyList();
}
}
private List getFFilter1_6() {
COSObject object = getFFilterValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_ARRAY) {
List list = new ArrayList<>(1);
list.add(new GFAArrayOfCompressionFilterNames((COSArray)object.getDirectBase(), this.baseObject, "FFilter"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getFilter() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getFilter1_6();
default:
return Collections.emptyList();
}
}
private List getFilter1_6() {
COSObject object = getFilterValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_ARRAY) {
List list = new ArrayList<>(1);
list.add(new GFAArrayOfCompressionFilterNames((COSArray)object.getDirectBase(), this.baseObject, "Filter"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getOnInstantiate() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getOnInstantiate1_6();
default:
return Collections.emptyList();
}
}
private List getOnInstantiate1_6() {
COSObject object = getOnInstantiateValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_STREAM) {
List list = new ArrayList<>(1);
list.add(new GFAStream((COSStream)object.getDirectBase(), this.baseObject, "OnInstantiate"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getResources() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getResources1_6();
default:
return Collections.emptyList();
}
}
private List getResources1_6() {
COSObject object = getResourcesValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_DICT) {
List list = new ArrayList<>(1);
list.add(new GFA3DStreamNameTreeResources((COSDictionary)object.getDirectBase(), this.baseObject, "Resources"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getResourcesTreeNode() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getResourcesTreeNode1_6();
default:
return Collections.emptyList();
}
}
private List getResourcesTreeNode1_6() {
COSObject object = getResourcesTreeNodeValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_DICT) {
List list = new ArrayList<>(1);
list.add(new GFANameTreeNode((COSDictionary)object.getDirectBase(), this.baseObject, "ResourcesTreeNode"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
private List getVA() {
switch (StaticContainers.getFlavour()) {
case ARLINGTON1_6:
case ARLINGTON1_7:
case ARLINGTON2_0:
return getVA1_6();
default:
return Collections.emptyList();
}
}
private List getVA1_6() {
COSObject object = getVAValue();
if (object == null) {
return Collections.emptyList();
}
if (object.getType() == COSObjType.COS_ARRAY) {
List list = new ArrayList<>(1);
list.add(new GFAArrayOf3DView((COSArray)object.getDirectBase(), this.baseObject, "VA"));
return Collections.unmodifiableList(list);
}
return Collections.emptyList();
}
@Override
public Boolean getcontainsAN() {
return this.baseObject.knownKey(ASAtom.getASAtom("AN"));
}
public COSObject getANValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("AN"));
return object;
}
@Override
public String getANType() {
COSObject AN = getANValue();
return getObjectType(AN);
}
@Override
public Boolean getANHasTypeDictionary() {
COSObject AN = getANValue();
return getHasTypeDictionary(AN);
}
@Override
public Boolean getcontainsColorSpace() {
return this.baseObject.knownKey(ASAtom.getASAtom("ColorSpace"));
}
public COSObject getColorSpaceValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("ColorSpace"));
return object;
}
@Override
public String getColorSpaceType() {
COSObject ColorSpace = getColorSpaceValue();
return getObjectType(ColorSpace);
}
@Override
public Boolean getColorSpaceHasTypeArray() {
COSObject ColorSpace = getColorSpaceValue();
return getHasTypeArray(ColorSpace);
}
@Override
public Boolean getColorSpaceHasTypeName() {
COSObject ColorSpace = getColorSpaceValue();
return getHasTypeName(ColorSpace);
}
@Override
public String getColorSpaceNameValue() {
COSObject ColorSpace = getColorSpaceValue();
return getNameValue(ColorSpace);
}
@Override
public Boolean getcontainsDL() {
return this.baseObject.knownKey(ASAtom.getASAtom("DL"));
}
public COSObject getDLValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("DL"));
return object;
}
@Override
public String getDLType() {
COSObject DL = getDLValue();
return getObjectType(DL);
}
@Override
public Boolean getDLHasTypeInteger() {
COSObject DL = getDLValue();
return getHasTypeInteger(DL);
}
@Override
public Long getDLIntegerValue() {
COSObject DL = getDLValue();
return getIntegerValue(DL);
}
@Override
public Boolean getcontainsDV() {
return this.baseObject.knownKey(ASAtom.getASAtom("DV"));
}
public COSObject getDVValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("DV"));
return object;
}
@Override
public String getDVType() {
COSObject DV = getDVValue();
return getObjectType(DV);
}
@Override
public Boolean getDVHasTypeDictionary() {
COSObject DV = getDVValue();
return getHasTypeDictionary(DV);
}
@Override
public Boolean getDVHasTypeInteger() {
COSObject DV = getDVValue();
return getHasTypeInteger(DV);
}
@Override
public Boolean getDVHasTypeName() {
COSObject DV = getDVValue();
return getHasTypeName(DV);
}
@Override
public Boolean getDVHasTypeString() {
COSObject DV = getDVValue();
return getHasTypeString(DV);
}
@Override
public Long getDVIntegerValue() {
COSObject DV = getDVValue();
return getIntegerValue(DV);
}
@Override
public String getDVNameValue() {
COSObject DV = getDVValue();
return getNameValue(DV);
}
@Override
public Boolean getcontainsDecodeParms() {
return this.baseObject.knownKey(ASAtom.getASAtom("DecodeParms"));
}
public COSObject getDecodeParmsValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("DecodeParms"));
return object;
}
@Override
public String getDecodeParmsType() {
COSObject DecodeParms = getDecodeParmsValue();
return getObjectType(DecodeParms);
}
@Override
public Boolean getDecodeParmsHasTypeArray() {
COSObject DecodeParms = getDecodeParmsValue();
return getHasTypeArray(DecodeParms);
}
@Override
public Boolean getDecodeParmsHasTypeDictionary() {
COSObject DecodeParms = getDecodeParmsValue();
return getHasTypeDictionary(DecodeParms);
}
@Override
public Long getDecodeParmsArraySize() {
COSObject DecodeParms = getDecodeParmsValue();
return getArraySize(DecodeParms);
}
@Override
public Boolean getcontainsF() {
return this.baseObject.knownKey(ASAtom.getASAtom("F"));
}
public COSObject getFValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("F"));
return object;
}
@Override
public String getFType() {
COSObject F = getFValue();
return getObjectType(F);
}
@Override
public Boolean getFHasTypeDictionary() {
COSObject F = getFValue();
return getHasTypeDictionary(F);
}
@Override
public Boolean getFHasTypeString() {
COSObject F = getFValue();
return getHasTypeString(F);
}
@Override
public Boolean getcontainsFDecodeParms() {
return this.baseObject.knownKey(ASAtom.getASAtom("FDecodeParms"));
}
public COSObject getFDecodeParmsValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("FDecodeParms"));
return object;
}
@Override
public String getFDecodeParmsType() {
COSObject FDecodeParms = getFDecodeParmsValue();
return getObjectType(FDecodeParms);
}
@Override
public Boolean getFDecodeParmsHasTypeArray() {
COSObject FDecodeParms = getFDecodeParmsValue();
return getHasTypeArray(FDecodeParms);
}
@Override
public Boolean getFDecodeParmsHasTypeDictionary() {
COSObject FDecodeParms = getFDecodeParmsValue();
return getHasTypeDictionary(FDecodeParms);
}
@Override
public Long getFDecodeParmsArraySize() {
COSObject FDecodeParms = getFDecodeParmsValue();
return getArraySize(FDecodeParms);
}
@Override
public Boolean getcontainsFFilter() {
return this.baseObject.knownKey(ASAtom.getASAtom("FFilter"));
}
public COSObject getFFilterValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("FFilter"));
return object;
}
@Override
public String getFFilterType() {
COSObject FFilter = getFFilterValue();
return getObjectType(FFilter);
}
@Override
public Boolean getFFilterHasTypeArray() {
COSObject FFilter = getFFilterValue();
return getHasTypeArray(FFilter);
}
@Override
public Boolean getFFilterHasTypeName() {
COSObject FFilter = getFFilterValue();
return getHasTypeName(FFilter);
}
@Override
public String getFFilterNameValue() {
COSObject FFilter = getFFilterValue();
return getNameValue(FFilter);
}
@Override
public Long getFFilterArraySize() {
COSObject FFilter = getFFilterValue();
return getArraySize(FFilter);
}
@Override
public Boolean getcontainsFilter() {
return this.baseObject.knownKey(ASAtom.getASAtom("Filter"));
}
public COSObject getFilterValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("Filter"));
return object;
}
@Override
public String getFilterType() {
COSObject Filter = getFilterValue();
return getObjectType(Filter);
}
@Override
public Boolean getFilterHasTypeArray() {
COSObject Filter = getFilterValue();
return getHasTypeArray(Filter);
}
@Override
public Boolean getFilterHasTypeName() {
COSObject Filter = getFilterValue();
return getHasTypeName(Filter);
}
@Override
public String getFilterNameValue() {
COSObject Filter = getFilterValue();
return getNameValue(Filter);
}
@Override
public Long getFilterArraySize() {
COSObject Filter = getFilterValue();
return getArraySize(Filter);
}
@Override
public Boolean getcontainsLength() {
return this.baseObject.knownKey(ASAtom.getASAtom("Length"));
}
public COSObject getLengthValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("Length"));
return object;
}
@Override
public String getLengthType() {
COSObject Length = getLengthValue();
return getObjectType(Length);
}
@Override
public Boolean getLengthHasTypeInteger() {
COSObject Length = getLengthValue();
return getHasTypeInteger(Length);
}
@Override
public Boolean getcontainsOnInstantiate() {
return this.baseObject.knownKey(ASAtom.getASAtom("OnInstantiate"));
}
public COSObject getOnInstantiateValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("OnInstantiate"));
return object;
}
@Override
public Boolean getisOnInstantiateIndirect() {
COSObject OnInstantiate = getOnInstantiateValue();
return getisIndirect(OnInstantiate);
}
@Override
public String getOnInstantiateType() {
COSObject OnInstantiate = getOnInstantiateValue();
return getObjectType(OnInstantiate);
}
@Override
public Boolean getOnInstantiateHasTypeStream() {
COSObject OnInstantiate = getOnInstantiateValue();
return getHasTypeStream(OnInstantiate);
}
@Override
public Boolean getcontainsResources() {
return this.baseObject.knownKey(ASAtom.getASAtom("Resources"));
}
public COSObject getResourcesValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("Resources"));
return object;
}
@Override
public String getResourcesType() {
COSObject Resources = getResourcesValue();
return getObjectType(Resources);
}
@Override
public Boolean getResourcesHasTypeNameTree() {
COSObject Resources = getResourcesValue();
return getHasTypeNameTree(Resources);
}
@Override
public Boolean getcontainsResourcesTreeNode() {
return this.baseObject.knownKey(ASAtom.getASAtom("Resources"));
}
public COSObject getResourcesTreeNodeValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("Resources"));
return object;
}
@Override
public String getResourcesTreeNodeType() {
COSObject ResourcesTreeNode = getResourcesTreeNodeValue();
return getObjectType(ResourcesTreeNode);
}
@Override
public Boolean getResourcesTreeNodeHasTypeNameTree() {
COSObject ResourcesTreeNode = getResourcesTreeNodeValue();
return getHasTypeNameTree(ResourcesTreeNode);
}
@Override
public Boolean getcontainsSubtype() {
return this.baseObject.knownKey(ASAtom.getASAtom("Subtype"));
}
public COSObject getSubtypeValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("Subtype"));
return object;
}
@Override
public String getSubtypeType() {
COSObject Subtype = getSubtypeValue();
return getObjectType(Subtype);
}
@Override
public Boolean getSubtypeHasTypeName() {
COSObject Subtype = getSubtypeValue();
return getHasTypeName(Subtype);
}
@Override
public String getSubtypeNameValue() {
COSObject Subtype = getSubtypeValue();
return getNameValue(Subtype);
}
@Override
public Boolean getcontainsType() {
return this.baseObject.knownKey(ASAtom.getASAtom("Type"));
}
public COSObject getTypeValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("Type"));
return object;
}
@Override
public String getTypeType() {
COSObject Type = getTypeValue();
return getObjectType(Type);
}
@Override
public Boolean getTypeHasTypeName() {
COSObject Type = getTypeValue();
return getHasTypeName(Type);
}
@Override
public String getTypeNameValue() {
COSObject Type = getTypeValue();
return getNameValue(Type);
}
@Override
public Boolean getcontainsVA() {
return this.baseObject.knownKey(ASAtom.getASAtom("VA"));
}
public COSObject getVAValue() {
COSObject object = this.baseObject.getKey(ASAtom.getASAtom("VA"));
return object;
}
@Override
public String getVAType() {
COSObject VA = getVAValue();
return getObjectType(VA);
}
@Override
public Boolean getVAHasTypeArray() {
COSObject VA = getVAValue();
return getHasTypeArray(VA);
}
@Override
public Long getVAArraySize() {
COSObject VA = getVAValue();
return getArraySize(VA);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy