Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * This program is free software; you can redistribute it and/or modify it under the 
   * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software 
   * Foundation.
   *
   * You should have received a copy of the GNU Lesser General Public License along with this 
   * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html 
   * or from the Free Software Foundation, Inc., 
   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *
  * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  * See the GNU Lesser General Public License for more details.
  *
  * Copyright 2012-2013 Pentaho Corporation.  All rights reserved.
  *
  */
 package org.pentaho.platform.api.repository2.unified;
 
 import java.util.Date;
 import java.util.Map;
 
Immutable repository file. Use the RepositoryFile.Builder to create instances.

Author(s):
mlowery
 
 public class RepositoryFile implements Comparable<RepositoryFile>, Serializable {
 
   // ~ Static fields/initializers ======================================================================================
 
   private static final long serialVersionUID = -6955142003557786114L;
 
   public static final String SEPARATOR = "/"//$NON-NLS-1$
 
   public static final String DEFAULT_LOCALE = "default"//$NON-NLS-1$
 
   public static final String ROOT_LOCALE = //$NON-NLS-1$
 
   public static final String TITLE = "title"//$NON-NLS-1$
 
   public static final String FILE_TITLE = "file.title"//$NON-NLS-1$
 
   public static final String DESCRIPTION = "description"//$NON-NLS-1$
 
   public static final String FILE_DESCRIPTION = "file.description"//$NON-NLS-1$
 
 
   // ~ Instance fields =================================================================================================
 
   private final String name;
 
   private final Serializable id;

  
Read-only.
 
   private final Date createdDate;
 
   private final String creatorId;

  
Read-only.
 
   private final Date lastModifiedDate;
 
   private final boolean folder;

  
Read-only.
 
   private final String path;
 
   private final boolean hidden;
 
   private final boolean versioned;
 
   private final long fileSize;

  
The version name or number. Read-only.
 
   private final Serializable versionId;

  
Locked status. Read-only.
 
   private final boolean locked;

  
Username of the owner of the lock. Read-only. null if file not locked.
 
   private final String lockOwner;

  
Message left by the owner when he locked the file. Read-only. null if file not locked.
  private final String lockMessage;

  
The date that this lock was created. Read-only. null if file not locked.
  private final Date lockDate;

  
A title for the file for the current locale. If locale not available, the file's name is returned. Read-only.
  private final String title;

  
A description of the file for the current locale. Read-only.
  private final String description;

  
The locale string with which locale-sensitive fields (like title) are populated. Used in equals(java.lang.Object) calculation to guarantee caching works correctly. Read-only.
  private final String locale;

  
The original folder path where the file resided before it was deleted. If this file has been deleted (but not permanently deleted), then this field will be non-null. Read-only.
  private final String originalParentFolderPath;

  
The date this file was deleted. If this file has been deleted (but not permanently deleted), then this field will be non-null. Read-only.
  private final Date deletedDate;


  
A map for locale properties. Keys are locale names and values are locale key-value pairs.
  private final Map<StringPropertieslocalePropertiesMap;
  // ~ Constructors ===================================================================================================
  /*
   * This assumes all Serializables are immutable (because they are not defensively copied).
   */
  public RepositoryFile(Serializable idString nameboolean folderboolean hiddenboolean versioned,
      Serializable versionIdString pathDate createdDateDate lastModifiedDateboolean lockedString lockOwner,
      String lockMessageDate lockDateString localeString titleString description,
      String originalParentFolderPathDate deletedDatelong fileSize,
      String creatorIdMap<StringPropertieslocalePropertiesMap) {
    super();
    this. = id;
    this. = name;
    this. = folder;
    this. = hidden;
    this. = versioned;
    this. = versionId;
    this. = path;
    this. = createdDate != null ? new Date(createdDate.getTime()) : null;
    this. = lastModifiedDate != null ? new Date(lastModifiedDate.getTime()) : null;
    this. = locked;
    this. = lockOwner;
    this. = lockMessage;
    this. = lockDate != null ? new Date(lockDate.getTime()) : null;
    this. = locale;
    this. = title;
    //this.titleMap = titleMap != null ? new HashMap<String, String>(titleMap) : null;
    this. = description;
    //this.descriptionMap = descriptionMap != null ? new HashMap<String, String>(descriptionMap) : null;
    this. = originalParentFolderPath;
    this. = deletedDate != null ? new Date(deletedDate.getTime()) : null;
    this. = fileSize;
    this. = creatorId;
    this. = localePropertiesMap != null ? new HashMap<StringProperties>(localePropertiesMap) : null;
  }
  // ~ Methods =========================================================================================================
  public String getName() {
    return ;
  }
  public Serializable getId() {
    return ;
  }
  public Date getCreatedDate() {
    // defensive copy
    return ( != null ? new Date(.getTime()) : null);
  }
  public String getCreatorId() {
    return ;
  }
  public Date getLastModifiedDate() {
    // defensive copy
    return ( != null ? new Date(.getTime()) : null);
  }
  public Long getFileSize() {
    return ;
  }
  public boolean isFolder() {
    return ;
  }
  public String getPath() {
    return ;
  }
  public boolean isHidden() {
    return ;
  }
  public boolean isVersioned() {
    return ;
  }
  public Serializable getVersionId() {
    return ;
  }
  public boolean isLocked() {
    return ;
  }
  public String getLockOwner() {
    return ;
  }
  public String getLockMessage() {
    return ;
  }
  public Date getLockDate() {
    // defensive copy
    return ( != null ? new Date(.getTime()) : null);
  }

  
Returns title for current locale or file name if not available.
  public String getTitle() {
    return  != null ?  : ;
  }
  public String getDescription() {
    return ;
  }
    // defensive copy
    return  == null ? null : new HashMap<StringProperties>();
  }
  /*
  public Map<String, String> getTitleMap() {
    // defensive copy
    return titleMap == null ? null : new HashMap<String, String>(titleMap);
  }
  public Map<String, String> getDescriptionMap() {
    // defensive copy
    return descriptionMap == null ? null : new HashMap<String, String>(descriptionMap);
  }
  */
  public String getLocale() {
    return ;
  }
  }
  public Date getDeletedDate() {
    return  != null ? new Date(.getTime()) : null;
  }
  public String toString() {
    return ToStringBuilder.reflectionToString(this);
  }
  public static class Builder {
    private String name;
    private Serializable id;
    private Date createdDate;
    private String creatorId;
    private Date lastModifiedDate;
    private long fileSize;
    private boolean folder;
    private String path;
    private boolean hidden;
    private boolean versioned;
    private Serializable versionId;
    private boolean locked;
    private String lockOwner;
    private String lockMessage;
    private Date lockDate;
    private String title;
    private String description;
    private Map<StringStringtitleMap;
    private Map<StringStringdescriptionMap;
    private String locale;
    private Date deletedDate;
    public Builder(final String name) {
      this. = name;
    }
    public Builder(final Serializable idfinal String name) {
      notNull(id);
      this. = name;
      this. = id;
    }
    public Builder(final RepositoryFile other) {
      this(other.name);
      this.id(other.id).path(other.path).createdDate(other.createdDate).creatorId(other.creatorId)
          .fileSize(other.fileSize).folder(other.folder).lastModificationDate(other.lastModifiedDate)
          .versioned(other.versioned).hidden(other.hidden).versionId(other.versionId).locked(other.locked)
          .lockDate(other.lockDate).lockOwner(other.lockOwner).lockMessage(other.lockMessage).title(other.title)
          .description(other.description)
          .locale(other.locale).originalParentFolderPath(other.originalParentFolderPath).deletedDate(other.deletedDate)
          .localePropertiesMap(other.localePropertiesMap);
    }
    public RepositoryFile build() {
      return new RepositoryFile(this.this.this.this.this.,
          this.this.this.this.this.this.,
          this.this.this.this.,
          this.this.this.this.);
    }
    public Builder createdDate(final Date createdDate1) {
      this. = createdDate1;
      return this;
    }
    public Builder creatorId(final String creatorId1) {
      this. = creatorId1;
      return this;
    }
    public Builder lastModificationDate(final Date lastModifiedDate1) {
      // defensive copy
      this. = lastModifiedDate1;
      return this;
    }

    

Parameters:
fileSize1
Returns:
    public Builder fileSize(long fileSize1) {
      this. = fileSize1;
      return this;
    }
    public Builder folder(final boolean folder1) {
      this. = folder1;
      return this;
    }
    public Builder id(final Serializable id1) {
      this. = id1;
      return this;
    }
    public Builder name(final String name1) {
      this. = name1;
      return this;
    }
    public Builder path(final String path1) {
      this. = path1;
      return this;
    }
    public Builder hidden(final boolean hidden1) {
      this. = hidden1;
      return this;
    }
    public Builder versioned(final boolean versioned1) {
      this. = versioned1;
      return this;
    }
    public Builder versionId(final Serializable versionId1) {
      this. = versionId1;
      return this;
    }
    public Builder locked(final boolean locked1) {
      this. = locked1;
      return this;
    }
    public Builder lockOwner(final String lockOwner1) {
      this. = lockOwner1;
      return this;
    }
    public Builder lockMessage(final String lockMessage1) {
      this. = lockMessage1;
      return this;
    }
    public Builder lockDate(final Date lockDate1) {
      // defensive copy
      this. = lockDate1;
      return this;
    }
    public Builder originalParentFolderPath(final String originalParentFolderPath1) {
      this. = originalParentFolderPath1;
      return this;
    }
    public Builder deletedDate(final Date deletedDate1) {
      this. = deletedDate1;
      return this;
    }
    public Builder title(final String title1) {
      this. = title1;
      return this;
    }
    public Builder description(final String description1) {
      this. = description1;
      return this;
    }
    public Builder localePropertiesMap(final Map<StringPropertieslocalePropertiesMap) {
      this. = localePropertiesMap;
      if(this. != null && !this..containsKey()){
        this..put(new Properties()); // required
      }
      return this;
    }
    public Builder clearLocalePropertiesMap() {
      if (this. != null) {
        this..clear();
        this..put(new Properties()); // required
      }
      return this;
    }
    public Builder localeProperties(final String localefinal Properties localeProperties) {
      this..put(localelocaleProperties);
      return this;
    }
    private void initLocalePropertiesMap() {
      if (this. == null) {
        this. = new HashMap<StringProperties>();
        this..put(new Properties()); // required
      }
    }
    public Builder title(final String localeStringfinal String title1) {
      Properties properties = this..get(localeString);
      if(properties == null){
        properties = new Properties();
      }
      properties.put(title1);
      properties.put(title1);
      this..put(localeStringproperties);
      return this;
    }
    public Builder description(final String localeStringfinal String description1) {
      Properties properties = this..get(localeString);
      if(properties == null){
        properties = new Properties();
      }
      properties.put(description1);
      properties.put(description1);
      this..put(localeStringproperties);
      return this;
    }
    public Builder locale(final String locale1) {
      this. = locale1;
      return this;
    }
    private void notNull(final Object in) {
      if (in == null) {
        throw new IllegalArgumentException();
      }
    }
  }
  public int compareTo(final RepositoryFile other) {
    if (other == null) {
      throw new NullPointerException(); // per Comparable contract
    }
    if (equals(other)) {
      return 0;
    }
    // either this or other has a null id; fall back on name
    return getTitle().compareTo(other.getTitle());
  }
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + (( == null) ? 0 : .hashCode());
    result = prime * result + (( == null) ? 0 : .hashCode());
    result = prime * result + (( == null) ? 0 : .hashCode());
    return result;
  }
  public boolean equals(Object obj) {
    if (this == obj)
      return true;
    if (obj == null)
      return false;
    if (getClass() != obj.getClass())
      return false;
    RepositoryFile other = (RepositoryFileobj;
    if ( == null) {
      if (other.id != null)
        return false;
    } else if (!.equals(other.id))
      return false;
    if ( == null) {
      if (other.locale != null)
        return false;
    } else if (!.equals(other.locale))
      return false;
    if ( == null) {
      if (other.versionId != null)
        return false;
    } else if (!.equals(other.versionId))
      return false;
    return true;
  }
  public RepositoryFile clone() {
    RepositoryFile.Builder builder = new RepositoryFile.Builder(this);
    return builder.build();
  }
New to GrepCode? Check out our FAQ X