se.datadosen.jalbum
Class AlbumBean

java.lang.Object
  extended by se.datadosen.jalbum.AlbumBean
All Implemented Interfaces:
java.awt.image.ImageObserver, java.lang.Cloneable, AlbumEngine

public class AlbumBean
extends java.lang.Object
implements java.awt.image.ImageObserver, AlbumEngine, java.lang.Cloneable

JavaBean for creating web based photo albums with thumbnail page and slide pages. Provides the actual album generation functionality of JAlbum. Method comments have only been added where the use isn't obvious.


Nested Class Summary
static class AlbumBean.Counter
           
 
Field Summary
protected static java.util.Map application
           
static java.lang.String CUSTOM_ORDER_FILE
           
 java.util.HashMap evalStats
           
static java.lang.String HEADLESS_SETTINGS_NAME
           
static java.lang.String LINK_HI_RES_VIA_SCALED
           
static java.lang.String LINK_ORIGINALS
           
static java.lang.String LINK_ORIGINALS_VIA_SCALED
           
static java.lang.String LINK_SCALED
           
static java.lang.String ORDER_BY_DATE
           
static java.lang.String ORDER_BY_NAME
           
static java.lang.String ORDER_BY_SIMPLE_NAME
           
static java.lang.String PRODUCT_DISPLAY_VERSION
           
static java.lang.String PRODUCT_INTERNAL_VERSION
           
static java.lang.String SCALE_FAST
           
static java.lang.String SCALE_MEDIUM
           
static java.lang.String SCALE_SMOOTH
           
 java.io.File srcResDir
           
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AlbumBean()
           
 
Method Summary
 void addAlbumBeanListener(AlbumBeanListener l)
           
 void addFilter(JAFilter filter)
          Add an image filter to the image process chain so it affects both closeups and thumbnails
 boolean addFilter(JAFilter filter, int stage)
          Add an image filter to the image process chain at the specified stage
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
           
 void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
           
 AlbumBean clone()
          Make a shallow copy of this object Note: It is not guaranteed that all member variables are separate or copied, just simple properties
 int countFiles(java.io.File dir)
          Recursively figure out how many files to process in total v3.5 made public as a convenience
 java.util.Iterator<JAFilter> filterIterator(int stage)
           
protected  void fireErrorOccured(java.lang.Throwable t, java.io.File f)
           
protected  void fireImageProcessingFinished(AlbumBeanEvent e)
           
protected  void fireImageProcessingStarted(AlbumBeanEvent e)
           
protected  void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
          Support for reporting bound property changes for Object properties.
 java.lang.String getAccountProfileName()
           
 int getAlbumHeight()
           
 int getAlbumWidth()
           
 java.lang.String getCharacterEncoding()
          Deprecated. Use getTextEncoding
 java.lang.String getCloseupDirectory()
           
 java.lang.String getCloseupPrefix()
           
 int getCols()
           
 int getCpuCores()
          Renamed from getNThreads in order to default to max number of cpu cores and ignore previously conservative settings store in jAlbum preferences now that our image scaling is far more memory conservative
 java.util.Comparator getCustomImageOrdering()
           
 java.lang.String getDateFormat()
           
 java.text.DateFormat getDateFormatAsObject()
           
 java.lang.String getDirectory()
           
static java.lang.String getDisplayVersion()
           
 FileNamer getFileNamer()
           
 java.lang.String getHiResDirectory()
           
 java.lang.String getIgnorePattern()
           
 java.awt.Color getImageBackgroundColor()
          jAlbum will use the background color when generating JPEG images from translusent images
 ImageInfoFormatter getImageInfoFormatter()
           
 java.lang.String getImageLinking()
           
 java.lang.String getImageOrdering()
           
 java.lang.String getImageSize()
           
 java.lang.String getIncludePattern()
           
 java.lang.String getIndexPageName()
           
static java.lang.String getInternalVersion()
           
 java.io.File getInterpretedOutputDirectory()
           
 LicenseManager getLicenseManager()
           
 int getLimit()
           
 java.lang.String getOutputDirectory()
           
 java.lang.String getPageExtension()
           
 PageNamer getPageNamer()
           
 int getQualityPercent()
           
 java.lang.String getRemoteDirectory()
          Might be moved out of AlbumBean
 java.lang.String getResourceDirectory()
          JAlbum 4.5 additions
 int getRows()
           
 java.lang.String getScalingMethod()
           
 int getSharpenPercent()
           
 java.lang.String getSkin()
           
 SkinProperties getSkinProperties()
           
 java.util.Map getSkinVariables()
           
 java.lang.String getSlideDirectory()
           
 java.lang.String getStyle()
           
 java.lang.String getTextEncoding()
           
 java.lang.String getThumbnailDirectory()
           
 java.lang.String getThumbnailPrefix()
           
 java.lang.String getThumbSize()
           
 TitleSource getTitleSource()
           
 java.lang.String getUserName()
           
 java.util.Map getUserVariables()
           
 java.lang.String getWebPassword()
          Upload privacy related
 boolean imageUpdate(java.awt.Image img, int infoflags, int x, int y, int width, int height)
          Ignore.
 void init()
           
 boolean isAppendImages()
           
 boolean isClassicReaders()
           
 boolean isCopyOriginals()
           
 boolean isDirectoriesFirst()
           
 boolean isExcludeBacklinks()
           
 boolean isExcludeByDefault()
           
 boolean isExifImageDescription()
           
 boolean isExifUserComment()
           
 boolean isHardwareScaling()
          Since 8.3.5
 boolean isHighQualityThumbs()
           
 boolean isHighThumbnailCompressionQuality()
          Use 100% JPEG quality for thumbnail images
 boolean isIncludeDirectories()
           
 boolean isIncludeHiResImages()
          Include hi-res images when uploading?
 boolean isIptcCaption()
           
 boolean isJpegComment()
           
 boolean isKeepMetaData()
           
 boolean isMakeThumbs()
           
 boolean isMediaRSS()
           
 boolean isMetaData()
           
 boolean isNotifyFollowers()
          Upload privacy related
 boolean isProgressiveMode()
           
 boolean isReadXmp()
           
 boolean isReverseOrder()
           
 boolean isSearchEngineFriendlyNames()
           
 boolean isShowInRecentAlbumsList()
          Upload privacy related
 boolean isSlides()
           
 boolean isSubdirs()
           
 boolean isSuperimposeFilmIcon()
           
 boolean isSuppressIEWarnings()
           
 boolean isTextFileComment()
           
 boolean isUpdatedDirsOnly()
           
 boolean isUrlEncode()
           
 boolean isUseThumbForFolderIcon()
           
 boolean isVisibleOnProfilePage()
          Upload privacy related
 boolean isWidgetInjection()
           
 boolean isWriteUTF8()
           
static java.lang.String jpegName(java.lang.String name)
          Make sure file name ends with .jpg
 java.io.File[] listFiles(java.io.File dir, boolean includeDirs, java.io.File outputDir)
          Deprecated. Use the new AlbumObject object model instead (currentObject, currentFolder and rootFolder variables). Doesn't support renamed files
 void makeAlbum()
          Generate a web album.
 void processBeanShellFile(java.io.File f)
           
 java.lang.String processTemplate(java.lang.String template)
          Replace variables and perform template parsing Use the variables that are currently visible for the interpreter.
 void processTemplateFile(java.io.File source, java.io.File dest)
          Replace variables and perform template parsing as a file is being copied Use the variables that are currently visible for the interpreter.
 void processTemplateFile(java.io.File source, java.io.File dest, java.util.Map vars)
          Replace variables and perform template parsing as a file is being copied Warning: This method has side effects of affecting the variables available in the current scope.
 void registerVariables(java.io.File file, java.io.File outputDir)
          We store a Map of file->Map pairs where the Map contains metadata like imageWidth, imageHeight and EXIF data (if present)
 void removeAlbumBeanListener(AlbumBeanListener l)
           
 void removeAllFilters()
          Remove all image filters from the image process chain
 boolean removeFilter(JAFilter filter, int stage)
          Remove an image filter from the image process chain at the specified stage
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Removes a PropertyChangeListener from the listener list.
 void setAccountProfileName(java.lang.String newAccountProfileName)
           
 void setAlbumHeight(int albumHeight)
           
 void setAlbumWidth(int albumWidth)
           
 void setAppendImages(boolean newAppendImages)
          Control if all image files are to be rescaled or only new files.
 void setCharacterEncoding(java.lang.String newCharacterEncoding)
          Deprecated. Use setTextEncoding
 void setClassicReaders(boolean newClassicReaders)
          Use Sun's old, but faster image readers for JPEG, GIF and PNG file types instead of ImageIO readers
 void setCols(int newCols)
           
 void setCopyOriginals(boolean newCopyOriginals)
           
 void setCpuCores(int cpuCores)
          Machines with multiple CPUs can utilize this method to cut down processing time Values higher than number of available processors are ignored.
 void setCustomImageOrdering(java.util.Comparator fileComparator)
          Select custom image/file ordering by installing a custom Comparator object.
 void setDateFormat(java.lang.String newDateFormat)
           
 void setDirectoriesFirst(boolean newDirectoriesFirst)
           
 void setDirectory(java.lang.String newDirectory)
          Set image directory.
 void setExcludeBacklinks(boolean newExcludeBacklinks)
           
 void setExcludeByDefault(boolean newExcludeByDefault)
          Automatically exclude images recently added to the image directory
 void setExifImageDescription(boolean newexifImageDescription)
           
 void setExifUserComment(boolean newexifUserComment)
           
 void setFileNamer(FileNamer fileNamer)
          Allows skins with special naming requirements to control how files are named
 void setHardwareScaling(boolean hardwareScaling)
          Attempt to use hardware accelerated image scaling.
 void setHighQualityThumbs(boolean newhighQualityThumbs)
           
 void setHighThumbnailCompressionQuality(boolean max)
           
 void setIgnorePattern(java.lang.String ignorePattern)
           
 void setImageBackgroundColor(java.awt.Color backgroundColor)
          jAlbum will use the background color when generating JPEG images from translusent images
 void setImageLinking(java.lang.String newImageLinking)
          Set image linking to one of the LINK_ string constants defined in this class
 void setImageOrdering(java.lang.String newImageOrdering)
          Set image ordering to one of the ORDER_ string constants defined in this class Will cancel any custom image ordering set by the setCustomImageOrdering call
 void setImageProcessor(ImageProcessor processor)
           
 void setImageSize(java.lang.String newImageSize)
           
 void setIncludeDirectories(boolean newIncludeDirectories)
           
 void setIncludeHiResImages(boolean includeHiResImages)
          Include hi-res images when uploading
 void setIncludePattern(java.lang.String includePattern)
          Include only files matching includePattern
 void setIndexPageName(java.lang.String newIndexPageName)
           
 void setIptcCaption(boolean newiptcCaption)
           
 void setJpegComment(boolean newjpegComment)
           
 void setKeepMetaData(boolean newKeepMetaData)
          Keep camera metadata in generated files
 void setLimit(int limit)
          Limit number of album objects that are to be processed 0 = unlimited Use of this method by 3:rd party developers is discouraged
 void setMakeThumbs(boolean makeThumbs)
           
 void setMediaRSS(boolean newMediaRSS)
          Add media RSS support to published albums
 void setMetaData(boolean newMetaData)
           
 void setNotifyFollowers(boolean notifyFollowers)
          Upload privacy related
 void setOutputDirectory(java.lang.String newOutputDirectory)
           
 void setPageExtension(java.lang.String newPageExtension)
           
 void setPageNamer(PageNamer pageNamer)
          Allows skins with special naming requirements to control how index pages and slide pages are named
 void setProgressiveMode(boolean newProgressiveMode)
          Write images with progressive encoding
 void setProperties(java.util.Properties props)
          Convenience method that calls the relevant setter methods on this bean depending on the passed properties.
 void setQualityPercent(int newQualityPercent)
           
 void setReadXmp(boolean readXmp)
          When reading comments, give priority to XMP metadata over other metadata sources
 void setRemoteDirectory(java.lang.String newRemoteDirectory)
          Might be moved out of AlbumBean
 void setReverseOrder(boolean newReverseOrder)
           
 void setRows(int newRows)
           
 void setScalingMethod(java.lang.String scalingMethod)
           
 void setSearchEngineFriendlyNames(boolean searchEngineFriendlyNames)
           
 void setSharpenPercent(int newSharpenPercent)
           
 void setShowInRecentAlbumsList(boolean showInRecentAlbumsList)
          Upload privacy related
 void setSkin(java.lang.String newSkin)
           
 void setSkinVariables(java.util.Map newSkinVariables)
          The new way of passing variables from skin user interfaces to the AlbumBean (Previously the user variables mechanism was used which bloated the user variables)
 void setSlides(boolean newSlides)
           
 void setStyle(java.lang.String newStyle)
           
 void setSubdirs(boolean newSubdirs)
           
 void setSuperimposeFilmIcon(boolean superimposeFilmIcon)
          Tell if to superimpose a film icon onto the thumbnails of movie files
 void setSuppressIEWarnings(boolean supressIEWarnings)
          Makes jAlbum inject a small comment before of generated pages.
 void setTextEncoding(java.lang.String newTextEncoding)
           
 void setTextFileComment(boolean newtextFileComment)
          JAlbum 4.6 additions
 void setThumbSize(java.lang.String newThumbSize)
           
 void setTitleSource(TitleSource titleSource)
           
 void setUpdatedDirsOnly(boolean newUpdatedDirsOnly)
           
 void setUrlEncode(boolean newUrlEncode)
           
 void setUserName(java.lang.String userName)
           
 void setUserVariables(java.util.Map newUserVariables)
           
 void setUseThumbForFolderIcon(boolean newUseThumbForFolderIcon)
          Replace standard folder icon with a thumbnail from one of the files in the image directory
 void setUsing(java.lang.Object using)
           
 void setVisibleOnProfilePage(boolean visibleOnProfilePage)
          Upload privacy related
 void setWebPassword(java.lang.String webPassword)
          Upload privacy related
 void setWidgetInjection(boolean newWidgetInjection)
          Include widget injection to published albums
 void setWriteUTF8(boolean newWriteUTF8)
           
 void smartMakeAlbum()
          Make album but let jAlbum decide whether to make all or changes
 void unloadCurrentSkin()
          Experimental.
 void useScaledImagesAsOriginals(boolean use)
          Internal use only.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PRODUCT_DISPLAY_VERSION

public static final java.lang.String PRODUCT_DISPLAY_VERSION
See Also:
Constant Field Values

PRODUCT_INTERNAL_VERSION

public static final java.lang.String PRODUCT_INTERNAL_VERSION
See Also:
Constant Field Values

HEADLESS_SETTINGS_NAME

public static final java.lang.String HEADLESS_SETTINGS_NAME
See Also:
Constant Field Values

ORDER_BY_DATE

public static final java.lang.String ORDER_BY_DATE
See Also:
Constant Field Values

ORDER_BY_NAME

public static final java.lang.String ORDER_BY_NAME
See Also:
Constant Field Values

ORDER_BY_SIMPLE_NAME

public static final java.lang.String ORDER_BY_SIMPLE_NAME
See Also:
Constant Field Values

CUSTOM_ORDER_FILE

public static final java.lang.String CUSTOM_ORDER_FILE
See Also:
Constant Field Values

LINK_ORIGINALS

public static final java.lang.String LINK_ORIGINALS
See Also:
Constant Field Values

LINK_ORIGINALS_VIA_SCALED

public static final java.lang.String LINK_ORIGINALS_VIA_SCALED
See Also:
Constant Field Values

LINK_HI_RES_VIA_SCALED

public static final java.lang.String LINK_HI_RES_VIA_SCALED
See Also:
Constant Field Values

LINK_SCALED

public static final java.lang.String LINK_SCALED
See Also:
Constant Field Values

SCALE_SMOOTH

public static final java.lang.String SCALE_SMOOTH
See Also:
Constant Field Values

SCALE_MEDIUM

public static final java.lang.String SCALE_MEDIUM
See Also:
Constant Field Values

SCALE_FAST

public static final java.lang.String SCALE_FAST
See Also:
Constant Field Values

application

protected static final java.util.Map application

evalStats

public java.util.HashMap evalStats

srcResDir

public java.io.File srcResDir
Constructor Detail

AlbumBean

public AlbumBean()
Method Detail

getAlbumHeight

public int getAlbumHeight()

setAlbumHeight

public void setAlbumHeight(int albumHeight)

getAlbumWidth

public int getAlbumWidth()

setAlbumWidth

public void setAlbumWidth(int albumWidth)

isMakeThumbs

public boolean isMakeThumbs()

setMakeThumbs

public void setMakeThumbs(boolean makeThumbs)

getLicenseManager

public LicenseManager getLicenseManager()

getPageNamer

public PageNamer getPageNamer()
Returns:
the currently installed PageNamer

setPageNamer

public void setPageNamer(PageNamer pageNamer)
Allows skins with special naming requirements to control how index pages and slide pages are named

Parameters:
pageNamer -

getFileNamer

public FileNamer getFileNamer()
Returns:
the currently installed FileNamer

setFileNamer

public void setFileNamer(FileNamer fileNamer)
Allows skins with special naming requirements to control how files are named

Parameters:
pageNamer -
Since:
10.3

getDisplayVersion

public static java.lang.String getDisplayVersion()

getInternalVersion

public static java.lang.String getInternalVersion()

getSkinProperties

public SkinProperties getSkinProperties()
Since:
8.7

unloadCurrentSkin

public void unloadCurrentSkin()
Experimental. Don't call


clone

public AlbumBean clone()
Make a shallow copy of this object Note: It is not guaranteed that all member variables are separate or copied, just simple properties

Overrides:
clone in class java.lang.Object
Returns:
Throws:
java.lang.CloneNotSupportedException
Since:
8.4

setImageProcessor

public void setImageProcessor(ImageProcessor processor)

setDirectory

public void setDirectory(java.lang.String newDirectory)
Set image directory. Mandatory to call before calling makeAlbum() Fires directory PropertyChangeEvent since 8.4

Specified by:
setDirectory in interface AlbumEngine
Parameters:
newDirectory -

getDirectory

public java.lang.String getDirectory()
Specified by:
getDirectory in interface AlbumEngine
Returns:

setThumbSize

public void setThumbSize(java.lang.String newThumbSize)
                  throws ParameterException
Throws:
ParameterException

getThumbSize

public java.lang.String getThumbSize()

setImageSize

public void setImageSize(java.lang.String newImageSize)
                  throws ParameterException
Throws:
ParameterException

getImageSize

public java.lang.String getImageSize()

setCols

public void setCols(int newCols)

getCols

public int getCols()

setQualityPercent

public void setQualityPercent(int newQualityPercent)

getQualityPercent

public int getQualityPercent()

isHighThumbnailCompressionQuality

public boolean isHighThumbnailCompressionQuality()
Use 100% JPEG quality for thumbnail images

Since:
8.5.5

setHighThumbnailCompressionQuality

public void setHighThumbnailCompressionQuality(boolean max)
Since:
8.5.5

setSharpenPercent

public void setSharpenPercent(int newSharpenPercent)

getSharpenPercent

public int getSharpenPercent()

setProgressiveMode

public void setProgressiveMode(boolean newProgressiveMode)
Write images with progressive encoding


isProgressiveMode

public boolean isProgressiveMode()

useScaledImagesAsOriginals

public void useScaledImagesAsOriginals(boolean use)
Internal use only. Don't call


setClassicReaders

public void setClassicReaders(boolean newClassicReaders)
Use Sun's old, but faster image readers for JPEG, GIF and PNG file types instead of ImageIO readers


isClassicReaders

public boolean isClassicReaders()

setUseThumbForFolderIcon

public void setUseThumbForFolderIcon(boolean newUseThumbForFolderIcon)
Replace standard folder icon with a thumbnail from one of the files in the image directory

Since:
v6.1

isUseThumbForFolderIcon

public boolean isUseThumbForFolderIcon()

setCpuCores

public void setCpuCores(int cpuCores)
Machines with multiple CPUs can utilize this method to cut down processing time Values higher than number of available processors are ignored. Renamed from setNThreads in order to ignore previously set conservative setting in jAlbum preferences.


getCpuCores

public int getCpuCores()
Renamed from getNThreads in order to default to max number of cpu cores and ignore previously conservative settings store in jAlbum preferences now that our image scaling is far more memory conservative

Returns:

setSlides

public void setSlides(boolean newSlides)

isSlides

public boolean isSlides()

setDateFormat

public void setDateFormat(java.lang.String newDateFormat)

getDateFormat

public java.lang.String getDateFormat()

getDateFormatAsObject

public java.text.DateFormat getDateFormatAsObject()

getImageInfoFormatter

public ImageInfoFormatter getImageInfoFormatter()

getImageBackgroundColor

public java.awt.Color getImageBackgroundColor()
jAlbum will use the background color when generating JPEG images from translusent images

Since:
8.3.4

setImageBackgroundColor

public void setImageBackgroundColor(java.awt.Color backgroundColor)
jAlbum will use the background color when generating JPEG images from translusent images

Since:
8.3.4

processTemplateFile

public void processTemplateFile(java.io.File source,
                                java.io.File dest)
                         throws java.io.IOException,
                                ElementException
Replace variables and perform template parsing as a file is being copied Use the variables that are currently visible for the interpreter.

Throws:
java.io.IOException
ElementException
Since:
4.7

processTemplate

public java.lang.String processTemplate(java.lang.String template)
                                 throws ElementException
Replace variables and perform template parsing Use the variables that are currently visible for the interpreter.

Throws:
ElementException
Since:
6.1

processTemplateFile

public void processTemplateFile(java.io.File source,
                                java.io.File dest,
                                java.util.Map vars)
                         throws java.io.IOException,
                                ElementException
Replace variables and perform template parsing as a file is being copied Warning: This method has side effects of affecting the variables available in the current scope. Try using the version that doesn't take a Map as parameter

Throws:
java.io.IOException
ElementException

listFiles

public java.io.File[] listFiles(java.io.File dir,
                                boolean includeDirs,
                                java.io.File outputDir)
                         throws java.io.IOException
Deprecated. Use the new AlbumObject object model instead (currentObject, currentFolder and rootFolder variables). Doesn't support renamed files

List valid albumfiles and subdirectories of a directory The list is ordered according to the project settings

Parameters:
includeDirs - Include directories?
outputDir - Output directory or null if not include directories
Throws:
java.io.IOException

registerVariables

public void registerVariables(java.io.File file,
                              java.io.File outputDir)
                       throws java.io.IOException
We store a Map of file->Map pairs where the Map contains metadata like imageWidth, imageHeight and EXIF data (if present)

Throws:
java.io.IOException

processBeanShellFile

public void processBeanShellFile(java.io.File f)
                          throws ElementException,
                                 java.io.IOException
Throws:
ElementException
java.io.IOException

countFiles

public int countFiles(java.io.File dir)
               throws java.io.IOException
Recursively figure out how many files to process in total v3.5 made public as a convenience

Throws:
java.io.IOException

init

public void init()
          throws ParameterException,
                 java.io.IOException,
                 OperationAbortedException,
                 ElementException
Throws:
ParameterException
java.io.IOException
OperationAbortedException
ElementException

makeAlbum

public void makeAlbum()
               throws java.lang.IllegalArgumentException,
                      java.io.IOException,
                      OperationAbortedException,
                      ElementException
Generate a web album. Before calling makeAlbum() you must always call setDirectory() and setOutputDirectory() to set an output

Specified by:
makeAlbum in interface AlbumEngine
Throws:
java.lang.IllegalArgumentException
java.io.IOException
OperationAbortedException
ElementException

smartMakeAlbum

public void smartMakeAlbum()
                    throws java.lang.IllegalArgumentException,
                           java.io.IOException,
                           OperationAbortedException,
                           ElementException
Make album but let jAlbum decide whether to make all or changes

Specified by:
smartMakeAlbum in interface AlbumEngine
Throws:
java.lang.IllegalArgumentException
java.io.IOException
OperationAbortedException
ElementException

imageUpdate

public boolean imageUpdate(java.awt.Image img,
                           int infoflags,
                           int x,
                           int y,
                           int width,
                           int height)
Ignore. Will be moved out of AlbumBean Implements ImageObserver

Specified by:
imageUpdate in interface java.awt.image.ImageObserver

jpegName

public static java.lang.String jpegName(java.lang.String name)
Make sure file name ends with .jpg


removeAlbumBeanListener

public void removeAlbumBeanListener(AlbumBeanListener l)
Specified by:
removeAlbumBeanListener in interface AlbumEngine

addAlbumBeanListener

public void addAlbumBeanListener(AlbumBeanListener l)
Specified by:
addAlbumBeanListener in interface AlbumEngine

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list. This method should be used to remove PropertyChangeListeners that were registered for all bound properties of this class.

If listener is null, no exception is thrown and no action is performed.

Parameters:
listener - the PropertyChangeListener to be removed
See Also:
addPropertyChangeListener(java.beans.PropertyChangeListener), #getPropertyChangeListeners, #removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

addPropertyChangeListener

public void addPropertyChangeListener(java.lang.String propertyName,
                                      java.beans.PropertyChangeListener listener)

firePropertyChange

protected void firePropertyChange(java.lang.String propertyName,
                                  java.lang.Object oldValue,
                                  java.lang.Object newValue)
Support for reporting bound property changes for Object properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.

Parameters:
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value

addFilter

public void addFilter(JAFilter filter)
Add an image filter to the image process chain so it affects both closeups and thumbnails


filterIterator

public java.util.Iterator<JAFilter> filterIterator(int stage)

addFilter

public boolean addFilter(JAFilter filter,
                         int stage)
Add an image filter to the image process chain at the specified stage


removeFilter

public boolean removeFilter(JAFilter filter,
                            int stage)
Remove an image filter from the image process chain at the specified stage


removeAllFilters

public void removeAllFilters()
Remove all image filters from the image process chain


fireImageProcessingStarted

protected void fireImageProcessingStarted(AlbumBeanEvent e)

fireImageProcessingFinished

protected void fireImageProcessingFinished(AlbumBeanEvent e)

fireErrorOccured

protected void fireErrorOccured(java.lang.Throwable t,
                                java.io.File f)

setSubdirs

public void setSubdirs(boolean newSubdirs)

isSubdirs

public boolean isSubdirs()

setAppendImages

public void setAppendImages(boolean newAppendImages)
Control if all image files are to be rescaled or only new files. Setting appendImages to true corresponds to "Make changes" Setting appendImages to false corresponds to "Make all" button.

Specified by:
setAppendImages in interface AlbumEngine

isAppendImages

public boolean isAppendImages()
Specified by:
isAppendImages in interface AlbumEngine

setUpdatedDirsOnly

public void setUpdatedDirsOnly(boolean newUpdatedDirsOnly)

isUpdatedDirsOnly

public boolean isUpdatedDirsOnly()

setExcludeByDefault

public void setExcludeByDefault(boolean newExcludeByDefault)
Automatically exclude images recently added to the image directory

Since:
6.3

isExcludeByDefault

public boolean isExcludeByDefault()

setKeepMetaData

public void setKeepMetaData(boolean newKeepMetaData)
Keep camera metadata in generated files

Since:
6.5

isKeepMetaData

public boolean isKeepMetaData()

setStyle

public void setStyle(java.lang.String newStyle)
Specified by:
setStyle in interface AlbumEngine

getStyle

public java.lang.String getStyle()
Specified by:
getStyle in interface AlbumEngine

setIndexPageName

public void setIndexPageName(java.lang.String newIndexPageName)

getIndexPageName

public java.lang.String getIndexPageName()

setUrlEncode

public void setUrlEncode(boolean newUrlEncode)

isUrlEncode

public boolean isUrlEncode()

setImageOrdering

public void setImageOrdering(java.lang.String newImageOrdering)
Set image ordering to one of the ORDER_ string constants defined in this class Will cancel any custom image ordering set by the setCustomImageOrdering call


getImageOrdering

public java.lang.String getImageOrdering()

setCustomImageOrdering

public void setCustomImageOrdering(java.util.Comparator fileComparator)
Select custom image/file ordering by installing a custom Comparator object. It is recommended that this method is called from the init.bsh file of a skin as the JAlbum user interface automatically resets this setting at the start of each album generation, before calling init.bsh. The resetting is done when the ordinary setImageOrdering method is called as the engine is synchronized with the UI.

Parameters:
fileComparator - Comparator object that is passed two File objects

getCustomImageOrdering

public java.util.Comparator getCustomImageOrdering()

setMediaRSS

public void setMediaRSS(boolean newMediaRSS)
Add media RSS support to published albums

Parameters:
newMediaRSS - boolean

isMediaRSS

public boolean isMediaRSS()

setWidgetInjection

public void setWidgetInjection(boolean newWidgetInjection)
Include widget injection to published albums

Parameters:
newWidgetInjection -

isWidgetInjection

public boolean isWidgetInjection()

setExcludeBacklinks

public void setExcludeBacklinks(boolean newExcludeBacklinks)
Parameters:
newAddBacklinks -
Since:
8.7

isExcludeBacklinks

public boolean isExcludeBacklinks()

isSuppressIEWarnings

public boolean isSuppressIEWarnings()

setSuppressIEWarnings

public void setSuppressIEWarnings(boolean supressIEWarnings)
Makes jAlbum inject a small comment before of generated pages. This prevents IE from producing script warnings for pages that contain Javascript (our Widget code for instance). The side effect of this is that local pages can't access any other content than html pages and embedded images


getUserName

public java.lang.String getUserName()

setUserName

public void setUserName(java.lang.String userName)

setMetaData

public void setMetaData(boolean newMetaData)

isMetaData

public boolean isMetaData()

setOutputDirectory

public void setOutputDirectory(java.lang.String newOutputDirectory)
Specified by:
setOutputDirectory in interface AlbumEngine

getOutputDirectory

public java.lang.String getOutputDirectory()
Specified by:
getOutputDirectory in interface AlbumEngine

getInterpretedOutputDirectory

public java.io.File getInterpretedOutputDirectory()

setRows

public void setRows(int newRows)

getRows

public int getRows()

setLimit

public void setLimit(int limit)
Limit number of album objects that are to be processed 0 = unlimited Use of this method by 3:rd party developers is discouraged

Specified by:
setLimit in interface AlbumEngine
Since:
8.3

getLimit

public int getLimit()

setImageLinking

public void setImageLinking(java.lang.String newImageLinking)
Set image linking to one of the LINK_ string constants defined in this class


getImageLinking

public java.lang.String getImageLinking()

setCopyOriginals

public void setCopyOriginals(boolean newCopyOriginals)

isCopyOriginals

public boolean isCopyOriginals()

isIncludeHiResImages

public boolean isIncludeHiResImages()
Include hi-res images when uploading?

Since:
8.4

setIncludeHiResImages

public void setIncludeHiResImages(boolean includeHiResImages)
Include hi-res images when uploading

Since:
8.14

isNotifyFollowers

public boolean isNotifyFollowers()
Upload privacy related


setNotifyFollowers

public void setNotifyFollowers(boolean notifyFollowers)
Upload privacy related


getWebPassword

public java.lang.String getWebPassword()
Upload privacy related


setWebPassword

public void setWebPassword(java.lang.String webPassword)
Upload privacy related


isShowInRecentAlbumsList

public boolean isShowInRecentAlbumsList()
Upload privacy related


setShowInRecentAlbumsList

public void setShowInRecentAlbumsList(boolean showInRecentAlbumsList)
Upload privacy related


isVisibleOnProfilePage

public boolean isVisibleOnProfilePage()
Upload privacy related


setVisibleOnProfilePage

public void setVisibleOnProfilePage(boolean visibleOnProfilePage)
Upload privacy related


setSkin

public void setSkin(java.lang.String newSkin)
Specified by:
setSkin in interface AlbumEngine

getSkin

public java.lang.String getSkin()
Specified by:
getSkin in interface AlbumEngine

setPageExtension

public void setPageExtension(java.lang.String newPageExtension)

getPageExtension

public java.lang.String getPageExtension()

getResourceDirectory

public java.lang.String getResourceDirectory()
JAlbum 4.5 additions


getThumbnailDirectory

public java.lang.String getThumbnailDirectory()

getCloseupDirectory

public java.lang.String getCloseupDirectory()

getSlideDirectory

public java.lang.String getSlideDirectory()

getHiResDirectory

public java.lang.String getHiResDirectory()
Since:
8.14

getThumbnailPrefix

public java.lang.String getThumbnailPrefix()

getCloseupPrefix

public java.lang.String getCloseupPrefix()

setTextFileComment

public void setTextFileComment(boolean newtextFileComment)
JAlbum 4.6 additions


isTextFileComment

public boolean isTextFileComment()

setReadXmp

public void setReadXmp(boolean readXmp)
When reading comments, give priority to XMP metadata over other metadata sources

Parameters:
readXMP -
Since:
10

isReadXmp

public boolean isReadXmp()

setJpegComment

public void setJpegComment(boolean newjpegComment)

isJpegComment

public boolean isJpegComment()

setIptcCaption

public void setIptcCaption(boolean newiptcCaption)

isIptcCaption

public boolean isIptcCaption()

setExifUserComment

public void setExifUserComment(boolean newexifUserComment)

isExifUserComment

public boolean isExifUserComment()

getTitleSource

public TitleSource getTitleSource()
Since:
9.6

setTitleSource

public void setTitleSource(TitleSource titleSource)
Since:
9.6

setHighQualityThumbs

public void setHighQualityThumbs(boolean newhighQualityThumbs)

isHighQualityThumbs

public boolean isHighQualityThumbs()

isSuperimposeFilmIcon

public boolean isSuperimposeFilmIcon()
Since:
jAlbum 8.12

setSuperimposeFilmIcon

public void setSuperimposeFilmIcon(boolean superimposeFilmIcon)
Tell if to superimpose a film icon onto the thumbnails of movie files

Since:
jAlbum 8.12

setExifImageDescription

public void setExifImageDescription(boolean newexifImageDescription)

isExifImageDescription

public boolean isExifImageDescription()

setIncludeDirectories

public void setIncludeDirectories(boolean newIncludeDirectories)

isIncludeDirectories

public boolean isIncludeDirectories()

setUserVariables

public void setUserVariables(java.util.Map newUserVariables)
Specified by:
setUserVariables in interface AlbumEngine

setSkinVariables

public void setSkinVariables(java.util.Map newSkinVariables)
The new way of passing variables from skin user interfaces to the AlbumBean (Previously the user variables mechanism was used which bloated the user variables)

Specified by:
setSkinVariables in interface AlbumEngine
Since:
5.2

setProperties

public void setProperties(java.util.Properties props)
Convenience method that calls the relevant setter methods on this bean depending on the passed properties. Skin and user variables, prefixed with skin. and user. will be installed as skin- and user variables

Specified by:
setProperties in interface AlbumEngine
Since:
8.4

getUserVariables

public java.util.Map getUserVariables()
Specified by:
getUserVariables in interface AlbumEngine

getSkinVariables

public java.util.Map getSkinVariables()
Specified by:
getSkinVariables in interface AlbumEngine

setRemoteDirectory

public void setRemoteDirectory(java.lang.String newRemoteDirectory)
Might be moved out of AlbumBean


getRemoteDirectory

public java.lang.String getRemoteDirectory()
Might be moved out of AlbumBean


setAccountProfileName

public void setAccountProfileName(java.lang.String newAccountProfileName)

getAccountProfileName

public java.lang.String getAccountProfileName()

setReverseOrder

public void setReverseOrder(boolean newReverseOrder)

isReverseOrder

public boolean isReverseOrder()

setCharacterEncoding

public void setCharacterEncoding(java.lang.String newCharacterEncoding)
Deprecated. Use setTextEncoding


getCharacterEncoding

public java.lang.String getCharacterEncoding()
Deprecated. Use getTextEncoding


setTextEncoding

public void setTextEncoding(java.lang.String newTextEncoding)

getTextEncoding

public java.lang.String getTextEncoding()

setWriteUTF8

public void setWriteUTF8(boolean newWriteUTF8)

isWriteUTF8

public boolean isWriteUTF8()

setDirectoriesFirst

public void setDirectoriesFirst(boolean newDirectoriesFirst)

isDirectoriesFirst

public boolean isDirectoriesFirst()

setIgnorePattern

public void setIgnorePattern(java.lang.String ignorePattern)

getIgnorePattern

public java.lang.String getIgnorePattern()

setIncludePattern

public void setIncludePattern(java.lang.String includePattern)
Include only files matching includePattern

Since:
6.5

getIncludePattern

public java.lang.String getIncludePattern()
Since:
6.5

setUsing

public void setUsing(java.lang.Object using)

getScalingMethod

public java.lang.String getScalingMethod()

setScalingMethod

public void setScalingMethod(java.lang.String scalingMethod)

isHardwareScaling

public boolean isHardwareScaling()
Since 8.3.5


setHardwareScaling

public void setHardwareScaling(boolean hardwareScaling)
Attempt to use hardware accelerated image scaling. Is usually faster but can produce worse results on some graphics cards Since 8.3.5


isSearchEngineFriendlyNames

public boolean isSearchEngineFriendlyNames()
Returns:
the searchEngineFriendlyNames

setSearchEngineFriendlyNames

public void setSearchEngineFriendlyNames(boolean searchEngineFriendlyNames)
Parameters:
searchEngineFriendlyNames - the searchEngineFriendlyNames to set