/*
 *   Copyright 2013 Brian Rosenberger (Brutex Network)
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

package net.brutex.xservices.types;

import java.io.File;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
 * @author Brian Rosenberger, bru(at)brutex.de
 *
 */



@XmlRootElement
public class FileInfoType
{
  private String name;
  private String path;
  private long filesize;
  private boolean canWrite;
  private boolean isDirectory;

  public FileInfoType()
  {
  }

  public FileInfoType(File file)
  {
    this.name = file.getName();
    this.path = file.getAbsolutePath().replace('\\', '/');
    this.canWrite = file.canWrite();
    this.filesize = file.length();
    this.isDirectory = file.isDirectory();
  }

  @XmlElement(name="name")
  public String getName()
  {
    return this.name;
  }

  public void setName(String name)
  {
    this.name = name;
  }

  @XmlElement(name="path")
  public String getPath()
  {
    return this.path;
  }

  public void setPath(String path)
  {
    this.path = path;
  }

  @XmlElement(name="size")
  public long getFilesize()
  {
    return this.filesize;
  }

  public void setFilesize(long filesize)
  {
    this.filesize = filesize;
  }

  @XmlElement(name="isWritable")
  public boolean isCanWrite()
  {
    return this.canWrite;
  }

  @XmlElement(name="isDirectory")
  public boolean isDirectory()
  {
    return this.isDirectory;
  }
}