01: /*
02: * Copyright (c) 2007, intarsys consulting GmbH
03: *
04: * Redistribution and use in source and binary forms, with or without
05: * modification, are permitted provided that the following conditions are met:
06: *
07: * - Redistributions of source code must retain the above copyright notice,
08: * this list of conditions and the following disclaimer.
09: *
10: * - Redistributions in binary form must reproduce the above copyright notice,
11: * this list of conditions and the following disclaimer in the documentation
12: * and/or other materials provided with the distribution.
13: *
14: * - Neither the name of intarsys nor the names of its contributors may be used
15: * to endorse or promote products derived from this software without specific
16: * prior written permission.
17: *
18: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21: * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22: * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28: * POSSIBILITY OF SUCH DAMAGE.
29: */
30:
31: package de.intarsys.pdf.pd;
32:
33: import de.intarsys.pdf.cos.COSBasedObject;
34: import de.intarsys.pdf.cos.COSName;
35: import de.intarsys.pdf.cos.COSObject;
36:
37: public class PDBuildProperties extends PDObject {
38:
39: /**
40: * The meta class implementation
41: */
42: public static class MetaClass extends PDObject.MetaClass {
43: protected MetaClass(Class instanceClass) {
44: super (instanceClass);
45: }
46:
47: protected COSBasedObject doCreateCOSBasedObject(COSObject object) {
48: return new PDBuildProperties(object);
49: }
50:
51: protected boolean isIndirect() {
52: return false;
53: }
54: }
55:
56: /** The meta class instance */
57: public static final MetaClass META = new MetaClass(MetaClass.class
58: .getDeclaringClass());
59:
60: public static final COSName DK_Filter = COSName.constant("Filter"); //$NON-NLS-1$
61: public static final COSName DK_PubSec = COSName.constant("PubSec"); //$NON-NLS-1$
62: public static final COSName DK_App = COSName.constant("App"); //$NON-NLS-1$
63:
64: protected PDBuildProperties(COSObject object) {
65: super (object);
66: }
67:
68: public PDBuildData getApp() {
69: return getBuildData(DK_App);
70: }
71:
72: private PDBuildData getBuildData(COSName field) {
73: COSObject dict = cosGetDict().get(field);
74: return (PDBuildData) PDBuildData.META.createFromCos(dict);
75: }
76:
77: public PDBuildData getFilter() {
78: return getBuildData(DK_Filter);
79: }
80:
81: public PDBuildData getPubSec() {
82: return getBuildData(DK_PubSec);
83: }
84:
85: public void setApp(PDBuildData appData) {
86: setFieldObject(DK_App, appData);
87: }
88:
89: public void setFilter(PDBuildData filterData) {
90: setFieldObject(DK_Filter, filterData);
91: }
92:
93: public void setPubSec(PDBuildData pubSecData) {
94: setFieldObject(DK_PubSec, pubSecData);
95: }
96:
97: }
|