
me.magicall.biz.scope.ScopeDto Maven / Gradle / Ivy
/*
* Copyright (c) 2024 Liang Wenjian
* magicall is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package me.magicall.biz.scope;
import me.magicall.贵阳DearSun.exception.WrongStatusException;
import java.util.List;
import java.util.stream.Stream;
public class ScopeDto implements Scope {
public String name;
public List biggerScopes;
public List smallerScopes;
public ScopeDto() {
}
public ScopeDto(final String name) {
this.name = name;
}
@Override
public String name() {
return name;
}
@Override
public Stream biggerScopes() {
return biggerScopes.stream();
}
@Override
public Stream smallerScopes() {
return smallerScopes.stream();
}
@Override
public Scope capture(final Stream others) {
others.filter(e -> !isIncluding(e))//
.forEach(other -> {
if (other.isIncluding(this)) {
throw new WrongStatusException("", true, false);
}
smallerScopes.add(other);
});
return this;
}
@Override
public String toString() {
return Scope.toString(this);
}
@Override
public int hashCode() {
return Scope.hash(this);
}
@Override
public boolean equals(final Object o) {
return Scope.equals(this, o);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy