/*
 * Copyright 2002-2016 the original author or authors.
 *
 * 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
 *
 *      https://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 sample.dms;

import org.springframework.util.Assert;

/**
 * Represents a File.
 *
 * @author Ben Alex
 */
public class File extends AbstractElement {

	/** Content of the file, which can be null. */
	private String content;

	public File(String name, Directory parent) {
		super(name, parent);
		Assert.isTrue(!parent.equals(Directory.ROOT_DIRECTORY), "Cannot insert File into root directory");
	}

	public String getContent() {
		return this.content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	@Override
	public String toString() {
		return "File[fullName='" + getFullName() + "'; name='" + getName() + "'; id='" + getId() + "'; content="
				+ getContent() + "'; parent='" + getParent() + "']";
	}

}
