Java Code Examples for sun.java2d.cmm.ProfileDeferralInfo

The following examples show how to use sun.java2d.cmm.ProfileDeferralInfo. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: jdk8u-dev-jdk   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 2
Source Project: jdk1.8-source-analysis   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 3
Source Project: dragonwell8_jdk   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 4
Source Project: dragonwell8_jdk   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 5
Source Project: TencentKona-8   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 6
Source Project: TencentKona-8   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 7
Source Project: jdk8u60   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 8
Source Project: jdk8u60   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 9
Source Project: JDKSourceCode1.8   Source File: ICC_Profile.java    License: MIT License 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 10
Source Project: JDKSourceCode1.8   Source File: ICC_Profile.java    License: MIT License 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 11
Source Project: openjdk-jdk8u   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 12
Source Project: openjdk-jdk8u   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 13
Source Project: jdk-1.7-annotated   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 14
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 15
Source Project: Bytecoder   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an {@code ICC_Profile} object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 16
Source Project: Bytecoder   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an {@code ICC_Profile} corresponding to the data in an
 * {@code InputStream}. This method throws an
 * {@code IllegalArgumentException} if the stream does not contain valid ICC
 * Profile data. It throws an {@code IOException} if an I/O error occurs
 * while reading the stream.
 *
 * @param  s the input stream from which to read the profile data
 * @return an {@code ICC_Profile} object corresponding to the data in the
 *         specified {@code InputStream}
 * @throws IOException If an I/O error occurs while reading the stream
 * @throws IllegalArgumentException If the stream does not contain valid ICC
 *         Profile data
 */
public static ICC_Profile getInstance(InputStream s) throws IOException {
byte[] profileData;

    if (s instanceof ProfileDeferralInfo) {
        /* hack to detect profiles whose loading can be deferred */
        return getDeferredInstance((ProfileDeferralInfo) s);
    }

    if ((profileData = getProfileDataFromStream(s)) == null) {
        throw new IllegalArgumentException("Invalid ICC Profile Data");
    }

    return getInstance(profileData);
}
 
Example 17
Source Project: Bytecoder   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an {@code ICC_Profile} for which the actual loading of the
 * profile data from a file and the initialization of the CMM should be
 * deferred as long as possible. Deferral is only used for standard
 * profiles. If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted when loading
 * this profile. If deferring is enabled, then the deferred activation code
 * will take care of access privileges.
 *
 * @see #activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 18
Source Project: jdk8u-dev-jdk   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 19
Source Project: openjdk-jdk9   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 20
Source Project: openjdk-jdk9   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see #activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 21
Source Project: jdk8u-jdk   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 22
Source Project: jdk8u-jdk   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 23
Source Project: Java8CN   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 24
Source Project: Java8CN   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 25
Source Project: hottub   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 26
Source Project: hottub   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 27
Source Project: openjdk-8-source   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 28
Source Project: jdk-1.7-annotated   Source File: ICC_Profile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}
 
Example 29
Source Project: openjdk-8-source   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile for which the actual loading of the
 * profile data from a file and the initialization of the CMM should
 * be deferred as long as possible.
 * Deferral is only used for standard profiles.
 * If deferring is disabled, then getStandardProfile() ensures
 * that all of the appropriate access privileges are granted
 * when loading this profile.
 * If deferring is enabled, then the deferred activation
 * code will take care of access privileges.
 * @see activateDeferredProfile()
 */
static ICC_Profile getDeferredInstance(ProfileDeferralInfo pdi) {
    if (!ProfileDeferralMgr.deferring) {
        return getStandardProfile(pdi.filename);
    }
    if (pdi.colorSpaceType == ColorSpace.TYPE_RGB) {
        return new ICC_ProfileRGB(pdi);
    } else if (pdi.colorSpaceType == ColorSpace.TYPE_GRAY) {
        return new ICC_ProfileGray(pdi);
    } else {
        return new ICC_Profile(pdi);
    }
}
 
Example 30
Source Project: openjdk-8   Source File: ICC_Profile.java    License: GNU General Public License v2.0 5 votes vote down vote up
/**
 * Constructs an ICC_Profile object whose loading will be deferred.
 * The ID will be 0 until the profile is loaded.
 */
ICC_Profile(ProfileDeferralInfo pdi) {
    this.deferralInfo = pdi;
    this.profileActivator = new ProfileActivator() {
        public void activate() throws ProfileDataException {
            activateDeferredProfile();
        }
    };
    ProfileDeferralMgr.registerDeferral(this.profileActivator);
}